6

У меня есть каталог foo с drwxr-x--- someuser somegroup и некоторые файлы, созданные в этом каталоге foo, которые имеют разрешения на чтение для владельца, группы и других. Как я могу дать otheruser пользователю права на запись в этот каталог, не добавляя этого пользователя в некоторую группу?

Возможно ли использовать setfacl для этого?

Благодарю.

2 ответа2

4

Для актуальных файлов и новых файлов вам нужно установить acl с:

setfacl -Rm d:u:otheruser:rwX,u:otheruser:rwX /your/dir

используйте X (заглавные буквы), если вы хотите, чтобы только каталоги были x, а не файлами. Используйте x (строчные буквы) для включения файлов.

Часть d:u:otheruser предназначена по умолчанию (новые файлы), а вторая часть команды предназначена для существующих файлов. Вы можете установить различные разрешения для каждой части, если вы предпочитаете.

-R для рекурсивного

Благодаря вводу user390689 (исходный запрос), необходимо также добавить маску (и маску по умолчанию), потому что setfacl должен (в соответствии с man setfacl и моим собственным опытом) создать маску на основе объединения существующих групп acls и добавленных разрешений. Так как в этом случае вы предоставляете только пользователя и никаких групп, для групп нет acl, а объединение пустое, поэтому вам нужно сделать это вручную с помощью:

setfacl -Rm d:m:otheruser:rwX,m:otheruser:rwX /your/dir
1

Благодарю. Я также обнаружил, что сначала нужно установить маску с помощью setfacl -mm:otheruser:rwX.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .