无法写入安装点(nfs服务器),得到“权限被拒绝”


21

我正在尝试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
尝试将(rw)in 更改/etc/exports(rw,no_root_squash)exportfs -av在服务器上执行,然后在客户端上重新挂载文件系统,然后重试。
MadHatter在2014年

Answers:


29

你们的出口有利用root_squash吗?从CentOS文档

root_squash-防止远程连接的root用户具有root特权,并为他们分配用户nfsnobody的用户ID。这有效地将远程根用户的权力“压榨”到了最低的本地用户,从而防止了未经授权更改远程服务器上的文件。或者,no_root_squash选项关闭根压缩。要压扁每个远程用户(包括root),请使用all_squash选项。要指定特定主机上的远程用户使用的用户和组ID,请分别使用anonuid和anongid选项。在这种情况下,可以为远程NFS用户创建一个特殊的用户帐户,以共享和指定(anonuid =,anongid =),其中用户ID号是组ID号。

您需要添加标志no_root_squash以禁用此功能,因为默认情况下该功能处于启用状态。


1
谢谢,一切正常。我不见了no_root_squash,再次感谢!
alexus 2014年

我发现了RHEL网站文章:access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/...。似乎使用no_root_squash根本不安全。如果我们要遵循他们的建议,该怎么办?
Djidiouf

基本上,您将需要赋予“ nobody”用户修改NFS挂载上适当文件的能力。当根用户被映射(压扁)到任何人时,它仍然可以对其进行修改。另外,我相信NFSv4允许您定义正确的本地/服务器帐户映射。
Christopher Karel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.