setfacl을 사용하여 그룹에 액세스 권한을 부여하지 않고 다른 사용자에게 액세스 권한 부여

setfacl을 사용하여 그룹에 액세스 권한을 부여하지 않고 다른 사용자에게 액세스 권한 부여

백업에 사용하는 사용자가 있고 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:---

편집: 루트를 백업 사용자로 사용할 수 있지만 그렇게 하면 안 될 것 같습니다. 원격 시스템에 백업하기 위해 rsnapshot(rsync 사용(ssh 사용))을 사용하고 있으며 ssh에 PermitRootLogin을 사용하거나 백업 사용자 uid를 0으로 만들어야 한다고 생각합니다. 또한 백업을 자동화하고 싶습니다. 현재 SSH 키로 하고 있는 작업입니다. 백업 시스템에 백업 시스템에 대한 읽기 액세스 권한이 있는지 여부는 문제가 되지 않지만 쓰기 액세스 권한이 있으면 문제가 되지 않습니다.

답변1

mask::아니요. POSIX ACL이 있는 경우 Unix "그룹" 권한은 ACL 비인식 도구와의 호환성을 유지하기 위해 모든 ACL 항목에 대해 허용되는 최대 권한을 설정하는 ACL 항목에 매핑됩니다 . (보다ServerFault에 대한 이 답변자세한 설명을 위해.)

관련 정보