확장 권한 - acl을 설정한 후 그룹은 쓸 수 없습니다.

확장 권한 - acl을 설정한 후 그룹은 쓸 수 없습니다.

나는 사용하고 싶다설정dir사용자 그룹에 대한 권한을 설정합니다 . 나는 다음과 같은 일을합니다 :

mkdir /Employee
chgrp employeers /Employee
setfacl -m d:g::rwx /Employee

이제 이 그룹의 구성원인 사용자로부터 파일을 만들려고 하면 '권한 없음'이라는 오류가 표시됩니다.

root@debian:~# ls -la /Employee
all 8
drwxr-xr-x+  2 root employeers 4096 maj 21 14:50 .
drwxr-xr-x  23 root root       4096 maj 21 14:50 ..

내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변1

d의 약어입니다 default. 기본 권한과 실제 권한은 독립적입니다. 를 사용하지 않고 setfacl 명령을 두 번째로 실행하면 d:권한이 원하는 대로 작동합니다. 나는 당신이 두 명령의 효과를 원한다고 가정합니다.

의 출력은 getfacl다음과 같은 결론을 제시할 수 있습니다.

  1. default:확장된 상태 로 표시됨
  2. "기본값"이 포함되지 않은 원본 액세스 제어 항목을 표시하며, 이는 사용자가 만든 항목과 다른 점이 있음을 나타냅니다.

결과적으로 +의 출력에서는 ls -l기본 모드에서 예상되지 않은 액세스를 허용하는 ACE가 있음을 보여줍니다(표준 POSIX ACE가 기본 모드에서 허용되는 액세스를 거부할 수 있는 방법은 없습니다)[1]. 두 번째 setfacl 명령 후에 기본 모드가 로 변경되는 것을 확인할 수 있습니다 rwxrwxr-x. 이는 employeers파일의 기본 그룹이고 setfacl이 중복 항목 생성을 방지하기 때문입니다.


[1] Windows 및 NFSv4 ACL은 거부 항목을 허용합니다. nfs4_acl 맨페이지를 포함하여 많은 사람들이 이것을 복잡한 함정으로 간주합니다. 당연히 이는 ACL 순서가 중요하다는 것을 의미합니다. 분명히 Windows GUI는 명시적인 거부 항목을 먼저 지정하고 마지막에 상속된 항목을 사용하여 이를 "선호" 순서로 변경합니다.

관련 정보