POSIX ACL을 적용할 때 그룹에 권한을 부여하는 방법은 무엇입니까?

POSIX ACL을 적용할 때 그룹에 권한을 부여하는 방법은 무엇입니까?

POSIX ACL을 파일에 적용한 후 소유 그룹에 권한을 부여하는 방법을 이해하려고 합니다. 일반적으로 를 사용 chmod g+rwx하지만 이전에 setfacl을 통해 POSIX ACL을 적용한 경우에는 작동하지 않습니다. 이후에는 소유 그룹의 구성원을 통해 파일에 액세스할 수 없습니다. getfacl의 출력은 소유 그룹 항목이 변경되지 않았지만 마스크가 변경되었음을 보여줍니다.

[vagrant@ice01 tmp]$ umask 077
[vagrant@ice01 tmp]$ touch test
[vagrant@ice01 tmp]$ ls -lisa test
1585067 0 -rw------- 1 vagrant vagrant 0 Sep 23 17:43 test
[vagrant@ice01 tmp]$ setfacl -m u:icer01:rwx test
[vagrant@ice01 tmp]$ chmod g+rwx test
[vagrant@ice01 tmp]$ ls -lisa test
1585067 0 -rw-rwx---+ 1 vagrant vagrant 0 Sep 23 17:43 test
[vagrant@ice01 tmp]$ getfacl test
# file: test
# owner: vagrant
# group: vagrant
user::rw-
user:icer01:rwx
group::---
mask::rwx
other::---

나는 이것을 읽었다답변그것은 주장한다:

ACL 항목이 있는 파일에 대한 파일 그룹 소유자 권한을 변경하기 위해 chmod(1) 명령을 사용하는 경우,누구나파일 그룹 소유자 권한또는ACL 마스크가 새 권한으로 변경되었습니다.

나는 참조된 IEEE 1003.1e 작업 초안의 일부를 읽었으며 이는 그들의 주장을 뒷받침합니다.
그러나 더 중요한 것은 ext4 파일 시스템이 있는 CentOS 6 시스템에서 이 동작을 확인할 수 있다는 것입니다(위 참조).

setfacl이것이 ACL을 적용한 후 소유 그룹에 대한 액세스 권한을 부여하는 유일한 옵션이라는 가정이 맞습니까 ?

그렇다면 이 동작은 최종 사용자에게 책임을 전가하는 것입니다. 마지막으로 또는 사용 여부를 결정하기 전에 chmodACL이 설정되어 있는지 확인해야 합니다 setfacl.

답변1

제목의 질문에 대한 대답은 다음과 같습니다. setfacl -m group::rwX test대문자 X는 "다른 사람이 이미 실행 권한을 가지고 있는 경우에만 실행 권한 부여"를 의미합니다. (이 쌍은 같은 의미입니다 chmod(1).) 대문자 X를 사용하면 실행 가능한 소스 파일로 끝나지 않고도 재귀를 수행하거나 권한을 부여 setfacl할 수 있습니다.chmod

ACL 항목은 group::파일의 현재 그룹에 해당합니다. 그룹을 testVanguard 그룹이 아닌 다른 그룹으로 변경하는 경우 이 group::항목은 현재 그룹의 접근 권한을 제어합니다.

chmod g+rwxmask::ACL이 있는 경우 파일이나 디렉터리의 Unix 그룹 권한 비트가 ACL 항목의 별칭으로 지정 되므로 예상한 대로 수행되지 않습니다 . ACL이 있는 한 이는 chmod g+FOO동일 하며 setfacl -m mask::FOO그 반대도 마찬가지입니다.

관련 정보