我正在使用 nfs-utils-1.3.0-0.66 在 CentOS7 客户端上安装带有 NFSv4.1 和 sec=sys 的远程文件系统。与挂载的交互按预期使用 UID/GID 进行,直到我尝试使用本地用户名(例如nfs4_setfacl -a “A::myuser:rwatTnNcy” myfile
)设置 NFSv4 ACE。 nfs4_setfacl 命令返回:Failed setxattr operation: Invalid argument
当 chown 停止工作时,一些奇怪的翻译似乎被缓存(chown 返回:)chown: changing ownership of ‘myfile’: Invalid argument
。解决此问题的唯一方法似乎是重新挂载 NFS 共享。我尝试重新启动 nfs-idmapd (并禁用该服务),确认/sys/module/nfs/parameters/nfs4_disable_idmapping
已启用,并且尝试使用 清除密钥环nfsidmap -c
,但在重新安装共享之前我仍然无法 chown。
我是不是找错地方了?理想情况下,nfs4-acl-tools 会将本地用户转换为 UID,而不是使用 username@domain(当使用 nfs4_setfacl 显式提供 UID 时,NFS 服务器似乎接受 UID),但更重要的是,可以在nfs4_setfacl 失败。