我有一个专有的 NAS 服务器,它提供 SMB 服务来访问其内容。SMB 协议坚持使用 V1.0(无法更改)。
我还有一个 ubuntu 20.04 服务器,应该可以访问这个 NAS。具体来说,我使用 NAS 来存储由 Synthing 服务写入的数据副本。也可以从 Windows 计算机访问同一个 NAS。
这是我的 fstab 条目:
//mynashost/SomeShare /mnt/SomeShare cifs vers=1.0,guest,uid=1000,gid=1000,comment=cloudconfig,iocharset=utf8 0 0
这对我的主用户(uid 为 1000,gid 为 1000)来说很有效,但对其他用户则不然。具体来说,我的 syncthing 服务是使用专用用户帐户运行的。
该其他用户可以读取内容,但不能写入(权限被拒绝)。
即使使用 sudo ,尝试访问chown
共享内的文件夹也不起作用(权限被拒绝)。
我对与安全相关的 fstab 选项感到很困惑。如何修复我的选项以允许我的服务器的任何用户读取和写入数据?
因为它是一个家庭服务器,所以我不需要隔离每个用户,如果有帮助的话,匿名安装 NAS 是一种选择。
答案1
我终于找到了正确的组合。这是我的更新fstab
:
//mynashost/SomeShare /mnt/SomeShare cifs vers=1.0,guest,uid=1000,gid=1000,comment=cloudconfig,iocharset=utf8,noperm 0 0
重点是增加了noperm
选项。
这是mount.cifs 手册页相关摘录:
noperm 客户端不进行权限检查。这可以将此挂载上的文件公开给本地客户端系统上的其他用户访问。通常,只有当服务器支持 CIFS Unix 扩展,但客户端和服务器系统上的 UID/GID 不够匹配,无法允许执行挂载的用户访问时,才需要执行此操作。请注意,这不会影响服务器软件对目标计算机执行的正常 ACL 检查(服务器 ACL 与挂载时提供的用户名的对比)。