我们正在运行 Rocky Linux 8.9(本质上是 RHEL 8.9)商店,我的任务是调查通过 NFS 挂载的文件系统上的 ACL。我们也使用 FreeIPA/IdM。
我已经设置了一台测试机器,将其注册到 IdM,导出 NFS 共享,并将其安装在本地,但 ACL 部分似乎缺少:
[root@example ~]# cat /etc/exports
/export/ *(rw,acl,no_root_squash)
[root@example ~]# mount | grep /export
localhost:/export on /mnt type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp6,timeo=600,retrans=2,sec=sys,clientaddr=::1,local_lock=none,addr=::1)
[root@example ~]# cd /mnt/
[root@example mnt]# touch testfile
[root@example mnt]# getfacl testfile
# file: testfile
# owner: root
# group: root
user::rw-
group::r--
other::r--
[root@example mnt]# setfacl -m u:user:r testfile
setfacl: testfile: Operation not supported
有几个问题:
- 由于客户端和服务器都是 Linux/POSIX ,我应该使用
getfacl
andsetfacl
而不是 nfs4_ 等效项,这是否正确理解? - 我需要 idmapd 吗?我有一个名为 nfs-idmapd 的服务成功运行。
- 我读到安装时
sec=sys
应该替换的地方。seckrb5
更新:
我进行了更多研究,并取得了一个小小的突破:nfsv4_set*acl
只要使用数字 UID 或 GID,NFS 共享就可以正常工作。造成问题的是 IdM/Kerberos 的耦合。