나는 사용하고 싶다설정값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
다음과 같은 결론을 제시할 수 있습니다.
default:
확장된 상태 로 표시- "기본값" 없이 원래 액세스 제어 항목을 표시하는 것은 사용자가 만든 항목이 다소 다르다는 것을 의미합니다.
결과적으로 +
출력에는 ls -l
기본 모드 외부의 액세스를 허용하는 ACE가 있음이 표시됩니다(표준 POSIX ACE는 기본 모드에서 허용되는 액세스를 거부할 수 없음)[1]. 두 번째 setfacl 명령 후에 기본 모드가 rwxrwxr-x
. employeers
이는 파일의 기본 그룹이고 setfacl이 중복 항목 생성을 방지하기 때문입니다 .
[1] Windows 및 NFSv4 ACL은 거부 항목을 허용합니다. nfs4_acl 맨페이지를 포함하여 많은 사람들은 이것을 복잡한 함정이라고 생각합니다. 물론 이는 ACL 순서가 중요하다는 것을 의미합니다. 분명히 Windows GUI는 항목을 "기본" 순서로 변경하여 명시적으로 항목을 먼저 거부하고 마지막으로 상속합니다.