![使用错误访问权限创建的 NFS 目录](https://linux22.com/image/519457/%E4%BD%BF%E7%94%A8%E9%94%99%E8%AF%AF%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90%E5%88%9B%E5%BB%BA%E7%9A%84%20NFS%20%E7%9B%AE%E5%BD%95.png)
我在服务器上创建了一个共享 NFS 资源到 /share,并将其映射到我的客户端机器上。
我的问题是,尽管我在服务器的 /etc/exports 上将此共享定义为
/share xx.xx.xx.xx/24(rw,no_root_squash,async)
文件创建为只读。我做错了什么?
尽管我的 ID 与客户端的 ID 不同,但 NFS 以某种方式知道我在服务器端的 ID,这对任何人来说都有效吗?
我还想共享用户已定义的访问权限的用户主目录设置,但这不是优先事项。
答案1
检查您的 /proc/mounts 或 /etc/mtab;最有可能的是,您在客户端将其安装为 ro(而不是 rw)。啊,等等,不!文件正在创建只读?这是服务器或客户端的 umask 问题。检查客户端的 shell umask 和 mount umask,以及服务器上的 shell、守护进程、mount 和导出的 umask。如果您使用程序在共享上创建文件,还请检查 open(2)/creat(2) 的第二个参数。
至于映射,那可能只是一种产物。尝试“ls -n”查看数字 uid 和 gid,这才是 NFS 关心的。