我在使用 NFS 通过家庭 LAN 访问小型 PC 上的文件时遇到了一些问题。
当我使用 Nautilus 或命令行时,它似乎运行正常,但当我尝试保存 LibreOffice 或 GIMP 等应用程序时,会出现几秒钟的延迟,然后出现“写入错误”。当从 NFS 共享打开现有文件时,它告诉我“此文件已被未知用户锁定以供编辑”。
这些应用程序可以毫无问题地打开和保存本地驱动器上的文件。
我当前的解决方法是以只读方式打开并将文件保存到我的桌面上,然后使用 Nautilus 将其复制到我最初打开它的位置。
我的本地电脑正在使用 Ubuntu 20.04,服务器显示它处于:“5.3.0-53-generic #47~18.04.1-Ubuntu SMP”
我的本地 /etc/fstab 条目:
192.168.50.186:/nas/shared /shared nfs rsize=8192,wsize=8192,timeo=14,hard,nfsvers=3
在服务器上我的 /etc/exports 文件:
/nas/shared 192.168.50.186/255.255.255.0(rw,insecure,no_subtree_check,async)
在 18.04 中,该问题仅影响 LibreOffice,但现在它还影响 GIMP 和 Krita 以及其他版本。
答案1
我终于弄清楚了问题所在——组权限。
NAS 服务器上的文件对于名为“nasusers”且 id=1002 的组都具有 R/W/X 权限。
这可以通过ls -la
服务器上的文件夹简单查看。
在本地执行相同的命令会将组显示为“1002”,因为本地客户端计算机上不存在组“nasusers”。为了解决这个问题,我运行了(在客户端本地):
sudo groupadd -g 1002 nasusers
运行id
表明我的用户不是该组的成员。要将自己添加到该组,我运行了以下操作(在客户端本地):
sudo adduser james nasusers
另外,在服务器上我将共享文件的权限设置为 770,因此所有者和组拥有完全权限,而其他人则没有权限。
这使得我能够从 LibreOffice 和 GIMP 打开和保存来自 NAS 服务器的文件而不会出现错误。
答案2
根据链接(以及您迄今为止所做的测试),从您的主目录向您的共享子目录添加另一个挂载,并使用 libreoffice 进行测试。
(您可以更改当前挂载,但我尽量不要过多地侵入您当前的设置)
192.168.50.186:/nas/shared/Libreofficestuff /home/yourusername/sharefoldername nfs rsize=8192,wsize=8192,timeo=14,intr,nfsvers=3
我认为你可能必须使用 subtree_check
/nas/shared 192.168.50.186/255.255.255.0(rw,insecure,subtree_check,async)