我想在服务器和客户端之间设置 nfs。因此我修改了服务器 PC 的 /etc/exports,如下所示。
/directory 193.101.102.0/255.255.255.0(rw,no_root_squash,no_subtree_check)
我期望 IP 为“193.101.102.211”的客户端可以挂载,但实际上却无法挂载。挂载失败,消息为
mount.nfs4: access denied by server while mounting 193.101.102.211:/directory
我必须更改配置吗?
答案1
首先您应该编辑的文件/etc/exports
不是/etc/exportfs
。
其次,您应该将目录名称作为行中的第一个符号:
/test 193.201.9.0/255.255.255.0(rw,no_root_squash,no_subtree_check)
编辑文件并执行(以 root 身份)
exportfs -r
答案2
Linux NFS 内核服务器依靠 rpc.mountd(又名 nfsv4.exportd)来确认对每个挂载请求的访问权限。(mountd 守护进程实际上执行两项任务 - 它为 NFSv2/v3 的 RPC“MOUNT”协议提供服务和对 NFSv4 执行服务器端访问检查,因此即使 NFSv4 中不再存在“MOUNT”协议,它仍然是需要的。)如果 rpc.mountd 没有运行,所有访问检查将自动失败。
答案3
我通过使用 sshfs 解决了这个问题。
我还有一个问题,就是必须挂载已从另一台 PC 挂载的目录。幸运的是,sshfs 可以做到这一点。