NFS 上的可写性测试失败。出了什么问题?或者这是一个错误?

NFS 上的可写性测试失败。出了什么问题?或者这是一个错误?

我在 NFS 挂载方面遇到了一个非常奇怪的问题。我有一台 Synology NAS,为一组 Linux 机器(目前为 Archlinux)提供主目录。使用的协议是 NFS V3。

当我使用主用户登录计算机时,我可以看到我对主文件夹具有写入权限:

$ ls -ld ~
drwx------ 28 cwolf cwolf 4096 26. Feb 15:10 /home/cwolf

我可以创建和删除文件。所以该文件夹实际上是可写的。

现在我看到了一个奇怪的行为。发行

$ test -w ~; echo $?
1

表明我对我的主文件夹没有写入权限...这使得 KDE 拒绝运行,因为它认为它无法写入主文件夹。

对本地用户(其主文件夹完全位于本地硬盘上)进行相同的尝试,一切都是一致的。所以测试返回0

谁能告诉我在哪里可以解决问题并使测试返回正确的值?另外问题是这更可能是 NFS 服务器上的问题还是 NFS 客户端上的问题。


附加信息:

该问题与我可以执行/成功创建和删除文件的root_squash完全相同的会话无关。所以服务器接受我作为用户的命令。touch foorm foofoo

互联网上的大多数信息都是以相反的方式相关的:用户显示为具有写入权限,但由于nobody压缩而在服务器上被重新映射。我的问题是我的权利被接受,但错误地显示为只读渲染测试失败。


根据此处评论的要求,服务器上的导出选项:

/volume1/cloud 134.96.8.160/27(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

安装选项(输出中的相应行mount)是:

ds2.lsr.uni-saarland.de:/volume1/cloud on /home type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=134.96.8.162,mountvers=3,mountport=892,mountproto=tcp,local_lock=none,addr=134.96.8.162)

答案1

当您运行此测试时,您是 root。根据服务器设置,这将禁止您写入该文件夹。普通用户不会有这个问题。

答案2

我最近也遇到了同样的问题。

我使用的是 Synology NAS,将 DSM(操作系统)更新到最新后问题已解决。希望它可以帮助那些遇到同样问题的人。

相关内容