nfsnobody用户权限

时间:2013-12-28 21:52:39

标签: permissions centos nfs

我在两台CentOS 6,64台机器之间设置了NFS文件共享。在服务器上,共享的文件夹最初由root用户拥有。在客户端,它出现了由nfsnobody拥有。当我尝试从客户端写入文件夹时,我收到了权限错误。所以我将服务器上的文件夹所有权更改为nfsnobody并将其更改为777.但是,仍然没有乐趣 - 我继续获得权限错误。显然,还有更多。对于那些可能能够帮助解决这个问题的人来说,我将不得不向那里的任何Linux专家(我个人不值得被称为新手)。

编辑 - 我应该提到尝试从客户端写入共享文件夹实际上设法创建一个文件条目。但是,文件大小为0,并报告权限错误。

1 个答案:

答案 0 :(得分:4)

此处的问题与 / etc / exports 中的条目有关。它应该读

folder ip(rw,**all_squash**,sync,no_subtree_check)

我错过了all_squash位。除此之外,请确保服务器上的文件夹由nfsnobody拥有。在我的设置中,我的客户端和服务器nfsnobodies最终都有一个用户ID,如果是65534.但是,非常值得检查这个(/ etc / groups)或者......。

以下是一些有用的参考资料

How to setup an NFS SErver NFS on CentOS

为了任何想要设置NFS服务器的人的利益,我在下面给出了我在CentOS 6 64位机器上的功能。

SERVER
yum install nfs-utils nfs-utils-lib  - install NFS
rpm -q nfs-utils - check the install

/etc/init.d/rpcbind start
chkconfig --levels 235 nfs on
/etc/init.d/nfs start
chkconfig --level 35 rpcbind on

完成此操作后,您应该创建要共享的文件夹

mkdir folder
chown 65534:65534 folder
chmod 755 folder

现在定义要共享/导出的文件夹。使用您喜欢的文本编辑器(vi或其他)来 open / create / etc / exports

 folder clientIP (rw,all_squash,sync,no_subtree_check)

 Client
 Install, check, bind and start as above
 mount -t nfs serverIP:folder clientFolderLocation

如果一切顺利,您现在应该可以在您的客户端上编写一个小脚本

<?php
$file = $_SERVER['DOCUMENT_ROOT']."/../nfsfolder/test.txt";
file_put_contents($file,'Hello world of NFS!');
?>

浏览到它并发现test.txt现在存在于服务器上,其内容为“Hello world of NFS”。在示例中,我将安装的驱动器放在document_root之前一级。