如何使用服务器用户挂载 NFS 共享

如何使用服务器用户挂载 NFS 共享

我有以下设置:有一台 Debian 10 PC,用户 A(uid:1000,gid:1000),想要挂载由运行 TrueNAS(12.0-U8.1)的服务器提供的 NFS 共享,该服务器由用户 B(uid:1006,gid:1008)拥有。我必须使用 NFS,因为此共享由 rsnapshot 使用,它需要软链接和硬链接。两台机器都在同一个 LAN 内。我发现这个论坛条目,但我不明白如何具体安装共享。

我到底要写什么

  • /etc/fstab
  • /etc/idmapd.conf
  • mount 命令
  • 还有其他配置文件吗?

通过以下设置,我可以安装共享,但不能修改。

在 /etc/fstab 中:

server:/mnt/pool/backup /mnt/server/backup nfs vers=4,addr=10.0.0.X,clientaddr=10.0.0.Y,noauto,rw,_netdev,users 0 0

/etc/idmapd.conf:

[General]
   Verbosity = 0
   Pipefs-Directory = /run/rpc_pipefs
   # set your own domain here, if it differs from FQDN minus hostname
   Domain = dom

[Mapping]
   Nobody-User = nfsnobody
   Nobody-Group = nfsnogroup

[Translation]
   Method = static

[Static]
   [email protected] = A

挂载命令:

/sbin/mount.nfs -v -o uid=1006,gid=1008 server:/mnt/pool/backup /mnt/server/backup

IP 地址由路由器静态分配。

答案1

由于不涉及 kerberos,NFS 将使用 AUTH_SYS,这意味着服务器将使用uid并由gids客户端发送。没有办法告诉客户端更改飞行中的 ID(除非您在客户端上创建一个 uid/gid 为 1006/1008 的用户)。只有idmapd在使用 kerberos 时才会涉及,否则GETATTR调用会返回 sting 主体作为文件所有者和所有者组。

要修复您的问题,您必须选择:创建匹配用户或强制服务器将客户端主机映射到给定的 uid/gid 组合。在常规 NFS 服务器上,您应该/etc/exports按如下方式更新文件:

/data 10.0.0.Y(rw,squash_all,anonuid=1006,anongid=1008)

TrueNAS 可能有类似的选择。

相关内容