Dro*_*dOS 4 permissions nfs centos
我在两台 CentOS 6、64 机器之间设置了 NFS 文件共享。在服务器上,共享的文件夹最初由 root 用户拥有。在客户端上,它显示为 nfsnobody 所有。当我尝试从客户端写入该文件夹时,出现权限错误。因此,我将服务器上的文件夹所有权更改为 nfsnobody 并将其 chmod 为 777。但是,仍然不高兴 - 我继续收到权限错误。显然,这还有更多内容。我非常感谢任何能够帮助解决这个问题的 Linux 专家(我个人不值得被称为新手)。
编辑 - 我应该提到,尝试从客户端写入共享文件夹实际上可以创建一个文件条目。但是文件大小为0,并且报权限错误。
这里的问题与/etc/exports中的条目有关。它应该读
folder ip(rw,**all_squash**,sync,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
我错过了 all_squash 位。除此之外,请确保服务器上的文件夹归 nfsnobody 所有。在我的设置中,我的客户端和服务器 nfsnobodies 最终都以用户 ID 65534 结束。但是,非常值得检查此(/etc/groups),否则...。
这里有一些有用的参考
如何 在 CentOS 上设置 NFS SErver NFS
为了让任何想要设置 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
Run Code Online (Sandbox Code Playgroud)
完成此操作后,您应该创建要共享的文件夹
mkdir folder
chown 65534:65534 folder
chmod 755 folder
Run Code Online (Sandbox Code Playgroud)
现在定义要共享/导出的文件夹。使用您最喜欢的文本编辑器(vi 或其他)打开/创建 /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
Run Code Online (Sandbox Code Playgroud)
如果一切顺利,您现在应该可以在客户端上编写一些脚本了
<?php
$file = $_SERVER['DOCUMENT_ROOT']."/../nfsfolder/test.txt";
file_put_contents($file,'Hello world of NFS!');
?>
Run Code Online (Sandbox Code Playgroud)
浏览到它,发现服务器上现在存在 test.txt,内容为“Hello world of NFS”。在示例中,我将已安装的驱动器放置在 document_root 之前的一级。
| 归档时间: |
|
| 查看次数: |
39209 次 |
| 最近记录: |