16.04 尝试与 LAN 连接的 Western Digital Mycloud NAS 进行 rsync。CIFS 实用程序已安装到 16.04:
sudo apt install cifs-utils
将远程 NAS 安装到 /mnt/nas:
mount -t cifs //192.168.8.XXX/Public -o username=root,password=secret /mnt/NAS
成功列出(读取) /mnt/NAS 的内容:
ls /mnt/NAS/Azimuth_Backup/
症状:无法从 16.04 写入 NAS:
touch /mnt/NAS/text.txt
touch:无法触及‘/mnt/NAS/text.txt’:权限被拒绝
安装详细信息:
mount | grep -i Public
//192.168.8.XXX/Public on /mnt/NAS 类型 cifs (rw、relatime、vers=1.0、cache=strict、username=root、domain=NAS4TB、uid=0、noforceuid、gid=0、noforcegid、addr=192.168.8.XXX、file_mode=0755、dir_mode=0755、nounix、serverino、mapposix、rsize=61440、wsize=65536、actimeo=1)
如果使用超级用户/root安装cifs设备,为什么我无法写入远程 NAS 磁盘吗?任何能解决问题或使问题更加尖锐化的例子都值得赞赏。
看起来 root 是所有者并且启用了写权限:
ls -l /mnt/NAS | grep -i backup
drwxr-xr-x 2 root root 0 11月12日 23:19 备份
答案1
除非您另行指定,否则 cifs 默认以所有者 = root 和权限 755 挂载。
您可以将 dir_mode 设置为 777,这样可以通过将其添加到选项列表中,允许客户端系统上的所有人对您挂载的共享进行读/写访问:
mount -t cifs //192.168.8.XXX/Public -o username=root,password=secret,dir_mode=0777,file_mode=0777 /mnt/NAS
uid=gatorback
或者,您可以通过将(如果这是您的客户端用户名)添加到您的选项列表中来简单地占有已挂载的共享:
mount -t cifs //192.168.8.XXX/Public -o username=root,password=secret,uid=gatorback /mnt/NAS
答案2
根据上面列出的权限,只有 16.04 超级用户可以写入已安装的 NAS。
需要设置的是目录权限。第一个数字表示所有者可以“cd”到目录,可以列出目录中的文件,并且可以创建、删除、修改该目录中的文件。对于组和其他用户,他们没有最后这些权限。您的第一个测试应该是“sudo touch /mnt/NAS/text.txt”以查看是否有效。如果有效,那么您需要为其他人设置目录权限,以允许他们创建/修改/删除文件。阅读https://www.techrepublic.com/article/linux-file-and-directory-permissions/有关读取、写入、执行文件以及目录权限如何控制对它们的访问的更多信息。