예를 들어 ACL을 설정하고 싶습니다. /tmp/test 폴더는 다음과 같습니다.
/tmp/test의 소유자는 "testgroup" 그룹의 구성원인 사용자 "gaspar"입니다.
사용자 "testuser"는 "testgroup" 그룹의 구성원이기도 하며 해당 사용자 + 소유자(사용자 "gaspar")에게만 rwx 권한을 부여하고 싶습니다.
또한 /tmp/test에 새로 생성된 모든 파일/디렉터리에 대해 동일한 acl을 자동으로 설정해야 합니다.
facl을 다음과 같이 설정하면:
setfacl -Rdm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/
getfacl -p /tmp/test/
부여된 권한:
# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
group::---
other::---
default:user::rwx
default:user:testuser:rwx
default:group::---
default:group:testgroup:---
default:mask::rwx
default:other::---
그러면 사용자 "testuser"는 /tmp/test 폴더에 대한 권한이 없습니다. 문제가 어디에 있는지, 어떻게 해결해야 하는지 제안해 주실 수 있나요?
acl을 이와 같이 설정하면("d" 옵션 없이) 사용자 "testuser"는 필요한 권한을 가지게 되지만 새로 생성된 파일/디렉토리에는 동일한 acl이 없는 것 같습니다.
setfacl -Rm u:testuser:rwx,g:testgroup:-,o::- /tmp/test/
getfacl -p /tmp/test/
# file: /tmp/test/
# owner: gaspar
# group: testgroup
user::rwx
user:testuser:rwx
group::---
group:testgroup:---
mask::rwx
other::---
어떤 제안이라도 감사하겠습니다!
답변1
시스템에서는 재부팅 후 파일이 사라집니다 /tmp
. 그렇죠? 아마도 이것은 영구적인 해결책을 위한 좋은 위치가 아닐 수도 있습니다. 디렉터리에 ACL을 설정하고 디렉터리의 모든 새 파일 시스템 개체에 ACL을 적용할 때 두 가지 마스크, 즉 (1) 디렉터리 자체에 대한 마스크와 (2) 모든 새 파일 시스템 개체에 대한 기본 마스크를 설정해야 합니다. )).
setfacl -m u::rwx,g::r-x,o::--- /tmp/test
setfacl -d -m u::rwx,g::r-x,o::--- /tmp/test
위의 스위치 -m
는 마스크 /tmp/test
이며 -d
스위치는 이 마스크를 동일한 디렉터리에 있는 모든 새 파일 시스템 개체에 대한 기본 마스크로 만듭니다. 0750과 같습니다. 8진수 값도 사용할 수 있습니다.
사용자, 그룹 및 기타 마스크는 동일한 방식으로 작동 g:groupname:---
하거나 조합하여 작동합니다 u:username:---,g:groupname:---,o::---
. 사용자 이름이나 그룹 이름을 지정하지 않으면 현재 사용자/그룹 소유권에 마스크가 적용됩니다.
모든 소프트웨어가 ACL을 지원하는 것은 아닙니다. 예를 들어 모든 SFTP/SCP 클라이언트가 이를 아는 것은 아닙니다.
답변2
이것은 필요합니다.
man acl
기본 ACL에 대해서는 다음과 같습니다.
액세스 제어 목록 유형
각 객체에는 객체에 대한 임의 액세스를 제어하는 ACL이 연결되어 있는 것으로 간주할 수 있습니다. 이 ACL을 액세스 ACL이라고 합니다. 또한 디렉터리에는 연결된 ACL이 있을 수 있습니다.이 디렉터리에 생성된 개체에 대한 초기 액세스 ACL을 관리합니다.;ACL이 호출됩니다.기본 ACL.
(강조는 내 것)
ACL로 지정하는 것은 소유자만이 디렉터리에 대해 rwx 권한을 갖는다는 것입니다. 디렉터리의 기본 ACL은 다음을 지정합니다.
- 그 안에 생성된 모든 파일의 ACL은 상위 디렉터리와 동일한 기본 ACL로 설정됩니다.
- 그 안에 생성된 모든 디렉터리의 기본 ACL은 상위 디렉터리의 기본 ACL과 동일하게 설정됩니다.
상위 디렉터리의 권한을 변경하거나 액세스를 활성화하는 그룹/사용자 ACL을 추가하면 그 안에 있는 모든 파일이 예상대로 작동합니다.
답변3
acl의 기본 부분에서 "user::rwx 및 default:user::rwx"가 상속되는 것이 무엇인지 이해해야 합니다.
자세한 내용을 보려면 "man setfacl"을 읽어야 합니다. 아마도 이 문서가 도움이 될 것입니다.
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxb200/aclinhe.htm