
У меня есть пользователь, которого я использую для резервного копирования, и я использую его, setfacl
чтобы предоставить этому пользователю доступ к файлам. Однако, setfacl
изменяет базовую запись ACL для группы, а некоторые приложения требуют, чтобы базовая запись ACL для группы была 0
(без чтения, записи и выполнения). Есть ли способ предоставить резервному пользователю доступ на чтение, не вызывая раздражения со стороны приложений? Ниже приведен пример того, как setfacl
и базовые записи ACL мешают:
user@host:/tmp$ umask 0077
user@host:/tmp$ touch a
user@host:/tmp$ ls -l a
-rw------- 1 user user 0 2012-02-01 16:28 a
user@host:/tmp$ setfacl -m u:nobody:rX a
user@host:/tmp$ ls -l a
-rw-r-----+ 1 user user 0 2012-02-01 16:28 a
user@host:/tmp$ chmod 600 a
user@host:/tmp$ getfacl a
user:nobody:r-- #effective:---
EDIT: Я мог бы использовать root в качестве пользователя резервного копирования, но не думаю, что мне следует это делать. Я использую rsnapshot (используя rsync (используя ssh)) для резервного копирования на удаленную систему, и я думаю, что мне придется PermitRootLogin для ssh или сделать моего пользователя резервного копирования uid 0. Кроме того, я хотел бы, чтобы резервное копирование было автоматизировано, что я сейчас и делаю с помощью ключей ssh. Хотя я не против, если система резервного копирования имеет доступ на чтение к резервной системе, я бы возражал, если бы у нее был доступ на запись.
решение1
Нет. Если присутствует POSIX ACL, разрешения «группы» Unix будут сопоставлены с mask::
записью ACL, которая устанавливает максимально допустимые разрешения для всех записей ACL, чтобы не нарушать совместимость с инструментами, не поддерживающими ACL. (См.этот ответ на ServerFault(для подробного объяснения.)