当我使用 NFSv4 在 Ubuntu 客户端上安装 QNAP 存储时,我无法将客户端用户名映射到服务器用户名(我不想使用 UID 对应关系)。在我的情况下,客户端和服务器上的 UID 和用户名都不相同。
服务器(QNAP):
我已经启用了 NFSv4 共享,然后配置了一个共享目录(shared_dir
),其中包含以下内容:
- Host/IP/Network = <client IP addr>
- Permissions = r/w
- Squash option = NO_ROOT_SQUASH
我已将文件/sys/module/nfs/parameters/nfs4_disable_idmapping
从修改'Y'
为'N'
(根据我在其他论坛答案中看到的内容)。
我已经重启了 QNAP
我没有修改过该文件/etc/idmapd.conf
,目前它是这样的:
[General]
Verbosity = 9
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain
[Mapping]
Nobody-User = guest
Nobody-Group = guest
客户端(Ubuntu 16.04):
nfs-common
已经安装了,所以至于服务器,我写入'N'
了 /sys/module/nfs/parameters/nfs4_disable_idmapping
。
此外,我还对该文件做了/etc/idmapd.conf
如下修改:
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs
# set your own domain here, if id differs from FQDN minus hostname
Domain = localdomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method=static
[Static]
jameswhite@<QNAP IP addr> = james
然后我执行了重新启动service nfs-idmapd restart
(我不知道为什么它要求我进行身份验证org.freedesktop.systemd1.manage-units
,但我认为这与我的问题无关)
最后我使用以下方式安装了 QNAP:
sudo mount -v -t nfs4 <QNAP IP addr>:/shared_dir /mnt/shared_dir