我真的不知道我在这里做什么,因此对于任何缺乏清晰度或准确性,我深表歉意。
我有一台 Fedora 27 工作站和服务器。该服务器配置为/home/nfs
在 NFS 服务器上共享一个名为 的文件夹。此服务器之前运行的是旧版本的 NFS,现在我相信我默认使用 NFSv4。自升级以来,我无法写入安装在~/nas
这是我能想到的所有相关信息。我没有关注用户 ID,所以它们都是自动生成的。
# exportfs -v outputs:
/home/nfs <world>(rw,sync,wdelay,hide,no_subtree_check,fsid=0,sec=sys,secure,no_root_squash,no_all_squash)
# The permissions of the mount folder:
drwxrwxr-x. 18 nobody nobody 4096 Mar 8 20:09 nas
# Try to 'touch ~/nas':
touch: setting times of '/home/stg/nas': Permission denied
# Try to touch ~/nas/t
touch: cannot touch '/home/stg/nas/t': Permission denied
# reading files works fine.
# sudo lets me write to files.
# cat /proc/mounts:
hal:/ /home/stg/nas nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp6,time
# on the server side, 'ls -ll /home/' gives:
drwxrwxr-x. 18 nobody nobody 4096 Mar 10 11:38 nfs
我可以通过在服务器上运行来使文件夹可写chmod o+w nfs
,但这似乎是错误的做法——在 NFSv3 下,现有权限有效。我尝试将客户端用户添加到 nobody 组(这似乎很奇怪),但没有效果。
有人能向我解释我做错了什么吗?
答案1
鉴于这些权限,您需要是nobody
或 组nobody
成员才能写入此目录。因此,您选择这条路径是正确的。
修改用户组后,您需要重新启动会话,因为这些组不是动态的。
这个问题提供了一些解决这个问题的方法:无需注销即可重新加载 Linux 用户的组分配。但请注意,这些解决方案通常涉及创建新的临时会话,而在桌面环境中,重新启动可能是最佳选择。