我在使用 NFS 通过家庭 LAN 访问小型 PC 上的文件时遇到了一些问题。
当我使用 Nautilus 或命令行时,它似乎工作得很好,但是当我尝试保存 LibreOffice 或 GIMP 等应用程序时,我得到了几秒钟的延迟,然后是“写入错误”。从 NFS 共享打开现有文件时,它告诉我“此文件已锁定,无法由未知用户编辑”。
这些应用程序可以毫无问题地打开和保存本地驱动器上的文件。
我目前的解决方法是以只读方式打开并将文件保存到我的桌面上,然后使用 Nautilus 将其复制到我最初打开它的位置。
我的本地 PC 使用的是 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 以及可能其他的。
我终于弄清楚了问题所在 - 组权限。
NAS 服务器上的文件都对名为“nasusers”且 id=1002 的组具有 R/W/X 权限。
这可以
ls -la
在服务器上的文件夹中简单地看到。在本地执行相同的命令会将组显示为“1002”,因为本地客户端计算机上不存在组“nasusers”。为了解决这个问题,我跑了(在我的客户端本地):
运行
id
显示我的用户不是该组的成员。要将自己添加到我运行的组中(在我的客户端本地):另外,在服务器上,我将共享文件的权限设置为 770,因此所有者和组拥有完全权限,而其他人则没有。
这使我能够从 LibreOffice 和 GIMP 的 NAS 服务器打开和保存文件而不会出错。
根据链接(以及您到目前为止所做的测试),将另一个挂载从您的主目录添加到您的共享的子目录并使用 libreoffice 进行测试。
(您可以更改当前的安装,但我尽量不要对您当前的设置造成太大影响)
我认为您可能必须使用 subtree_check