![无法写入挂载点(nfs 服务器),出现“权限被拒绝”](https://linux22.com/image/636795/%E6%97%A0%E6%B3%95%E5%86%99%E5%85%A5%E6%8C%82%E8%BD%BD%E7%82%B9%EF%BC%88nfs%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%89%EF%BC%8C%E5%87%BA%E7%8E%B0%E2%80%9C%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%E2%80%9D.png)
NFS
我正在尝试在两个 RHEL7 节点之间进行配置:
第一个节点:
[root@ip-10-164-175-246 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@ip-10-164-175-246 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@ip-10-164-175-246 ~]# cat /etc/exports
/var/www/html/ ip-10-184-161-46.ec2.internal(rw)
[root@ip-10-164-175-246 ~]#
第二个节点:
[root@ip-10-184-161-46 ~]# mount ip-10-164-175-246.ec2.internal:/var/www/html/ /mnt/
[root@ip-10-184-161-46 ~]# touch /mnt/$$
touch: cannot touch ‘/mnt/3326’: Permission denied
[root@ip-10-184-161-46 ~]#
为什么我无法/mnt/
通过 NFS 写入任何内容?
答案1
您的出口是否利用root_squash
?从CentOS 文档:
root_squash — 防止远程连接的 root 用户拥有 root 权限,并为他们分配用户 nfsnobody 的用户 ID。这有效地将远程 root 用户的权限“压缩”到最低级别的本地用户,从而防止未经授权更改远程服务器上的文件。或者,no_root_squash 选项关闭 root 压缩。要压缩每个远程用户(包括 root),请使用 all_squash 选项。要指定与特定主机的远程用户一起使用的用户和组 ID,请分别使用 anonuid 和 anongid 选项。在这种情况下,可以为远程 NFS 用户创建一个特殊的用户帐户以共享并指定 (anonuid=,anongid=),其中是用户 ID 号,是组 ID 号。
您需要添加标志no_root_squash
来禁用此功能,因为它默认是开启的。