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

setfacl: Argument list too long

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

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

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

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

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

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

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

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

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

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

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Администратор Linux» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:
  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .

Помогла статья? Есть возможность отблагодарить автора

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

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

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.