Решение проблемы

setfacl: Argument list too long


Столкнулся с неожиданной ошибкой, при установке прав ACL с помощью команды setfacl. Никак не удавалось добавить новые права к каталогу. Текст ошибки совершенно не информативен и не позволяет понять суть ошибки. Решение пришло само в голову, просто догадался.

Есть файловый сервер на CentOS 7. Он заведен в домен, права доступа замечательно настраиваются через галочки в Windows. Но на одну из папок не удалось через винду поставить права, вылетала ошибка доступа, хотя у учетной записи были все необходимые права.

Пошел в консоль сервера, чтобы повнимательнее посмотреть на эту папку. Запросил список прав с помощью getfacl. Все было в порядке, права доступа отображались и они были корректны.

Но вот добавить новые права не получалось, вылетала ошибка:

# setfacl -R -m u:ivandrago:rwx 'Папочка'

setfacl: Папочка: Argument list too long

Тут я призадумался. Сначала полез в гугл искать подобные ошибки. К сожалению, эта ошибка соответствует общему определению и возникает на множестве операций, например find или rm. Но с этими командами примерно понятно, что это означает. Список объектов для обработки слишком большой. Применительно к команде setfacl я не мог понят ее смысл.

Затем обратил внимание, что на этой папке стоит очень много различных прав для групп и пользователей. Больше, чем я обычно делаю и чем следует. Решил проверить версию, что это связано именно с большим списком прав. Удалил некоторых юзеров с помощью:

# setfacl -x u:petrov 'Папочка'

И попробовал заново назначить те же права, что и в начале. Все получилось. Не читал пока подробно теорию про ACL права, хотя надо почитать на всякий случай. Похоже, есть какие-то ограничение на этот счет, с которыми я столкнулся.


СМОТРИ ТАКЖЕ