저는 오랫동안 네트워킹에 CIFS를 사용해 왔으며, Linux-Linux 파일 배포에는 NFS를 사용하고 싶습니다. 고정 그룹을 설정한 공유 드라이브가 있는데, 루트가 작성 중일 때를 제외하고 NFS를 통해 마운트하면 정상적으로 작동하는 것 같습니다.
따라서 파일 서버에는 내가 수행한 media라는 디렉토리가 있습니다. ACL 적용 setfacl -d -m u::rwx,g::rwx,o::r-x Media
켜져 있으므로 다음과 같습니다.
drwsrwsrwx+ 16 chrishunter users 4096 Sep 25 06:10 Media
작업 수행이 예상대로 작동합니다.
chrishunter@server:/media/disk1/Media$ touch file
chrishunter@server:/media/disk1/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@server:/media/disk1/Media$ sudo su
root@server:/media/Media# touch file3
root@server:/media/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 05:51 file
-rw-rw-r-- 1 root users 0 Sep 26 05:51 file2
-rw-rw-r-- 1 root users 0 Sep 26 05:52 file3
이제 NFS를 통한 마운트는 ACL을 적용하지 않는 것으로 나타나므로 sudo 터치 파일을 실행할 때 다음과 같습니다.
chrishunter@client:/mnt/Media$ touch file
chrishunter@client:/mnt/Media$ sudo touch file2
[sudo] password for chrishunter:
chrishunter@client:/mnt/Media$ sudo su
root@client:/mnt/Media# touch file3
root@client:/mnt/Media# ls -ltra file*
-rw-rw-r-- 1 chrishunter users 0 Sep 26 06:09 file
-rw-r--r-- 1 root users 0 Sep 26 06:10 file2
-rw-r--r-- 1 root users 0 Sep 26 06:10 file3
따라서 NFS4는 이를 클라이언트에 자동으로 전파해야 하며 실행하면 nfs4_getfacl Media
권한을 볼 수 있습니다.
A::OWNER@:rwaDxtTcCy
A::GROUP@:rwaDxtcy
A::EVERYONE@:rxtcy
A:fdi:OWNER@:rwaDxtTcCy
A:fdi:GROUP@:rwaDxtcy
A:fdi:EVERYONE@:rxtcy
이제 이것은 나에게 말한다그 사람을 따라가면서실제로 모든 권한은 상속되어야 하지만 이 경우에는 그렇지 않습니다.
ACL을 제자리에 장착해야 함을 보여주는 참고 사항입니다.
chrishunter@server:/media/disk1/Media# tune2fs -l /dev/dm-0 | grep "Default mount options:"
Default mount options: acl
chrishunter@server:/media/disk1/Media# mount |grep media
/dev/mapper/vg1-lv1 on /media/disk1/Media type ext4 (rw,acl)
업데이트: 잠재적인 문제이므로 내보내기 내용을 추가했습니다.
/media/Media 192.168.0.0/24(rw,no_root_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)
답변1
Classic NFS는 루트 사용자를 특별히 처리합니다. no_root_squash
서버의 내보내기 파일에서 옵션을 설정해 볼 수도 있습니다 . 보다man exports