我想在我的 Linux 服务器(运行 Ubuntu 20.04.2 LTS 的旧无头桌面)启动时在 NAS(Synology DiskStation)上安装网络驱动器,并且我想让 /mnt 下的所有用户都可以使用该共享。我打算看看我是否可以编写一个脚本来定期将一些文件备份到此共享,这样如果我的服务器发生任何事情,我的文件就会备份到我的 NAS 上。
我已经在 NAS 上设置了 NFS 网络共享(Linux 服务器的 IP 地址具有读/写权限,Squash:无映射),在 /mnt 下创建了共享目录,我挂载了共享,以我的常规非 root 用户身份将一些文件复制到其中,检查文件是否在 NAS 上。一切正常。我重新启动后,挂载消失了。我预料到了这一点,并查找了如何让系统在启动时挂载此共享。我在 fstab 中添加了以下行。
<nas_ip>:/volume1/share /mnt/share nfs user,rw,hard,intr 0 0
我重新启动,进入 /mnt,并尝试“cd /share”,但出现“权限被拒绝”的情况。
最终,我感到很沮丧,于是切换到 root(sudo -i),“cd /share” 运行正常。我甚至直接在 NAS 上创建了一个新文件夹,并通过命令行以 root 身份验证了它是否可见。网络共享正在安装并运行,但除 root 之外没有其他用户可以访问。
我还需要做其他事情吗?据我了解,fstab 下的“用户”选项应允许所有用户访问挂载。我做错了什么吗?
谢谢!
答案1
为了使文件真正可访问,您可以使用 NAS 上的管理界面将其所有者设置为 Linux 机器上的用户 ID,或者您可以尝试条目中的uid=...
和gid=...
挂载选项/etc/fstab
;请参阅man 8 mount
:
uid=值、gid=值和 umask=值
设置文件系统上的文件权限。umask 值以八进制给出。默认情况下,文件由 root 拥有,其他人无法读取。