조금 어렵습니다. zfs/nfsv4 acl에서 posix acl 기본값을 복제하는 방법은 무엇입니까?

조금 어렵습니다. zfs/nfsv4 acl에서 posix acl 기본값을 복제하는 방법은 무엇입니까?

생성된 모든 파일과 디렉터리가 해당 디렉터리의 그룹 소유자의 그룹 권한을 갖고 기본 권한이 770인 디렉터리를 원한다고 가정해 보겠습니다. posix ACL을 사용하는 것은 정말 쉽습니다.

#create a dir..
mkdir proof

#inherit group permission "video" in this example
chmod g+s proof/
chgrp video proof/

#with setfacl make the default group with rxw permissions
setfacl -d -m g:video:rwx proof

#other are not allowed
setfacl -d -m o:--- proof/
chmod o-x proof

#give the acl
setfacl -m g:video:rwx proof

이제 디렉토리 증명에 파일과 디렉토리를 만듭니다.

mkdir try1
drwxrws---+ 2 myuser video 4,0K feb 23 01:26 try1
touch file1
-rw-rw----+ 1 myuser video    0 feb 23 01:29 file1

보시다시피, 원하는 것을 얻었습니다. 디렉토리의 모든 파일은 권한을 상속하고 그룹 소유자로 "video" 그룹을 갖습니다. 이는 Linux(ext4, btrfs 등의 posix acl) 및 Solaris(ufs)에서 가능합니다.

이제 문제는 nfsv4 acl을 사용하여 Solaris에서 zfs로 이 작업을 수행하는 방법입니다. zfs Solaris 11 호스트에서 다른 디렉토리 "증명"을 만들어 보았습니다(chmod g+s가 물론 만들었습니다).

chmod A=owner@:read_attributes/read_data/execute/list_directory/read_data/write_data/append_data/execute/add_file/add_subdirectory:fd:allow,group:video:read_attributes/read_data/execute/list_directory/read_data/write_data/append_data/execute/add_file/add_subdirectory:fd:allow,everyone@:read_attributes/read_data/execute/list_directory/read_data/write_data/append_data/execute/add_file/add_subdirectory:fd:deny proof

그런데 결과는...

mkdir newdir
drwxr-sr-x+ 2 myuser video 2 23 feb 02.33 newdir

:|

동일한 posix acl을 얻는 방법은 무엇입니까? 감사해요

답변1

해결책을 찾았습니다. 사용자+그룹비디오용으로 770을 원합니다.

a) zfs 볼륨 생성

zfs create proof1

b) 매우 중요합니다. 그렇지 않으면 작동하지 않습니다!

zfs set aclinherit=passthrough rpool/proof1

c) 이제 ACL

chmod g+s /proof1
chgrp video /proof1

#this if you don't share the dir via nfs
chmod A=owner@:full_set:fd:allow,group:video:full_set:fd:allow,everyone@:full_set:fd:deny /proof1

#this if you want to share it via nfs
chmod A=owner@:full_set:fd:allow,group:video:full_set:fd:allow,everyone@:read_set:allow /proof1

fd는 파일 및 디렉터리 상속을 나타냅니다.

d) 파일과 디렉토리를 생성합니다.

mkdir dir1 
touch file1

drwxrws---+ 2 root video 2 23 feb 02.59 dir1
-rwxrwx---+ 1 root video 0 23 feb 02.59 file1

완벽한. 로컬 파일로 테스트했는데 video 그룹에 속한 사용자만 해당 디렉토리에 쓸 수 있습니다.

관련 정보