autofs nfs 共享在同一台 PC 上提供和安装,报告写入时权限被拒绝

autofs nfs 共享在同一台 PC 上提供和安装,报告写入时权限被拒绝

我在本地网络中的多台 Debian 10 机器之间使用 nfs,具有相同的基本设置,并且它们都按预期工作。

我使用 autofs 作为 root 来挂载和卸载每台计算机上的 nfs 共享,并且在各处都使用相同的基本设置。每台客户端计算机上的用户都可以访问已安装的共享,因为它们属于nobody:nogroup.

到目前为止,我一直在客户端计算机上从服务器计算机安装共享,没有任何问题。所以两台独立的机器。

我现在尝试通过在同一台计算机上使用 autofs 来安装从计算机提供的共享。所以服务器和客户端在同一台机器上。

autofs 挂载共享没有问题,非 root 用户可以毫无问题地列出文件夹内容和查看文件,但是当非 root 用户尝试写入共享时,他们会收到“权限被拒绝”:

$ touch test.file
touch: cannot touch 'test.file': Permission denied

$ echo "content" > test.file
bash: test.file: Permission denied

无论我在环回上使用 127.0.0.1 还是在以太网或 WiFi 接口上使用 192.168.xy 来访问共享,都会发生这种情况。其他机器使用 autofs 使用相同的设置挂载这些相同的共享,不会出现问题,而该机器同样使用 autofs 使用相同的设置再次挂载来自其他机器的共享,不会出现问题。

这些是 nfs 服务器设置:

$ sudo exportfs -v
/exports/share  127.0.0.1/32(rw,wdelay,root_squash,all_squash,sec=sys,rw,secure,root_squash,all_squash)
/exports/share  192.168.0.0/16(rw,wdelay,root_squash,all_squash,sec=sys,rw,secure,root_squash,all_squash)

这些是 autofs 设置,通过另一个文件中的主映射加载:

$ cat /etc/auto.shares
share_loopback   -fstype=nfs4,rw,retry=0,hard,noac,noexec,proto=tcp 127.0.0.1:/exports/share
share_network    -fstype=nfs4,rw,retry=0,hard,noac,noexec,proto=tcp 192.168.x.y:/exports/share

当用户使用相同的基本设置在同一台计算机上手动安装相同的 nfs 共享时,一切正常,没有权限问题。

$ sudo mount -t nfs4 -o rw,hard,noac,noexec,proto=tcp 127.0.0.1:/exports/share /media/share_loopback

$ sudo mount -t nfs4 -o rw,hard,noac,noexec,proto=tcp 192.168.x.y:/exports/share /media/share_network

看起来 autofs 在引擎盖下所做的事情与我手动安装时不同。

那么是什么导致通过 autofs 挂载报告“权限被拒绝”,我怎样才能让它工作呢?

相关内容