permissions - nfsnobody 用户权限

标签 permissions centos nfs

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

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

最佳答案

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

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

我错过了 all_squash 位。除此之外,确保服务器上的文件夹归 nfsnobody 所有。在我的设置中,如果 65534,我的客户端和服务器 nfsnobodies 都以用户 ID 结束。但是,非常值得检查这个 (/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 或其他)来 打开/创建/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 之前的一层。

关于permissions - nfsnobody 用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20819786/

相关文章:

mysql - 使用加载数据 infile 的最低数据库权限

c++ - Eclipse C/C++ "Permission Denied"错误

ruby - 试图删除在 Centos 中 protected yum

centos - 生成 Avro Schema 文件并存储在 HDFS 中

macos - Docker 中的 NFS : exportfs: <path> does not support NFS export

google-cloud-platform - 云跑: Connecting to a CloudSQL database on another GCP Project

ubuntu - 我需要启用哪些权限才能使 Docker 卷正常工作?

php - 关于 Centos/PCI DSS 合规性的 CVE-2011-1092

ssh - SELinux 使用 RSA key 阻止 ssh

linux - 从多台机器收集文件?