Home » Ошибки » setfacl: Argument list too long

setfacl: Argument list too long

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

Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация.

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

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

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

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

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

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

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

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Проверьте себя на вступительном тесте и смотрите подробнее программу по ссылке.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar