我通过命令挂载了一个nfsv4文件夹(客户端和服务器都是CentOS 7.4)
$ sudo mount -t nfs -o v4.0,sec=krb5 ark-centos7-ker.qa.arkivio.com:/export/nfs1 /nfs4-mnt-dir
通过以下方式创建文件:touch 11
,然后设置文件的 ACL 使用命令失败
$ sudo nfs4_setfacl -a A::[email protected]:rxtncy /nfs4-mnt-dir/11
[sudo] password for [email protected]:
Failed setxattr operation: Invalid argument
似乎在抱怨参数[电子邮件受保护]无效,但该用户已被 nfs4 客户端和服务器识别。
$ getent passwd [email protected]
[email protected]:*:1712401226:1712400513:auto-stor:/home/[email protected]:/bin/bash
$ id [email protected]
uid=1712401226([email protected]) gid=1712400513(domain [email protected]) groups=1712400513(domain [email protected] rkivio.com),10(wheel),1712439592([email protected]),1712439438([email protected]),171243989 6([email protected]),1712400512(domain [email protected]),1712439802([email protected] m)
我的配置中缺少什么?
答案1
我不确定您是否找到了答案,但我发现 nfsv4 使用 gid 和 uid 效果最好。
我愿意为用户做这个吗
sudo nfs4_setfacl -a A:d:180001:RWX /path/to/file
对于一个群体来说是
sudo nfs4_setfacl -a A:g:29111:RWX /path/to/file
获取 uid 和 gid 的最简单方法是
id -u username
getent group groupname
只需将我在命令中输入的垃圾 UID 和 GID 替换为您系统上的真实 UID 和 GID 即可。