У меня есть каталог под названием «members», в котором есть папки / файлы. Как я могу рекурсивно установить для всех текущих папок / файлов и любых будущих, созданных в них, по умолчанию 775 разрешений и принадлежность владельцу / группе nobody / admin соответственно? Я включил ACL, смонтировал, но не могу заставить команду setfacl сделать это правильно. Есть идеи, как этого добиться?
Я действительно нашел то, что до сих пор делает то, о чем я просил, поделился здесь, чтобы любой, кто сталкивается с этой проблемой, мог попробовать это решение:
sudo setfacl -Rdm g:groupnamehere:rwx /base/path/members/
sudo setfacl -Rm g:groupnamehere:rwx /base/path/members/
р является рекурсивным, что означает, что ко всему в этом каталоге будет применено правило.
d используется по умолчанию, что означает, что для всех будущих элементов, созданных в этом каталоге, эти правила будут применяться по умолчанию. м необходим для добавления / изменения правил.
Первая команда предназначена для новых элементов (отсюда d), вторая команда - для старых / существующих элементов в папке. Надеюсь, это кому-то поможет, поскольку этот материал немного сложен и не очень интуитивно понятен.
Чтобы согласиться с принятым ответом ...
Вы можете комбинировать эти команды вместе как:
sudo setfacl -Rm d:g:groupnamehere:rwx,g:groupnamehere:rwx /base/path/members/
setfacl на linux имеет -d
и -k
параметры для управления разрешениями по умолчанию, которые, вероятно, являются тем, что вы ищете (см. man для получения дополнительной информации).
Легко рекурсивно установить простые разрешения UNIX по запросу соответствующим образом авторизованного пользователя разрешения каталогов и файлов. Это невозможно наложить автоматически.
Вы можете сказать пользователям использовать набор umask 0002, и это помогает создавать новые файлы на 0775 (в зависимости от приложения). Но это не принудительно.
Насколько я понимаю, ACL не наследуются в системах UNIX / Linux. Они устанавливаются по запросу.
Что касается владения файлом / каталогом, вам здесь в значительной степени не повезло.
Что касается владения группой файлов / каталогов, установив бит set-gid каталога (т.е. g + s в DIRECTORIES), это действительно приводит к наследованию владения группой.
Что я сделал в таких ситуациях, так это периодический запуск сценария root cron, который сбрасывает несоответствующие разрешения / права собственности на стандарт в таких каталогах.
Другой (НЕ РЕКОМЕНДУЕТСЯ) процесс - использовать тот же идентификатор пользователя при работе с этими файлами. Это может быть выполнено путем входа пользователя в систему под своим собственным UID, а затем с помощью sudo или su для запуска в качестве идентификатора. Это все еще не на 100%, особенно в отношении ACL и битов разрешений.