使用最新的 Ubuntu 服务器:Ubuntu 20.04.1 LTS 我能够使用以下命令从本地 Fritz Box 路由器成功挂载 SMB 共享卷:
mount -t cifs //fritz.box/fritz.nas/wd -o rw,vers=3,username=user,password=password,workgroup=WORKGROUP
挂载点的权限:
drwxr-xr-x 2 root root
安装后复制到驱动器的测试文件的权限:
-rwxr-xr-x 1 root root 4 Aug 7 13:05 test.txt
但是当我尝试查看文件的内容时:
test.txt: Stale file handle
编辑还显示[权限被拒绝]
尝试读取文件后的 DMESG 输出:
[14540.364844] CIFS VFS: bogus file nlink value 0
我尝试了各种权限、用户、挂载选项和不同的 CIFS 版本,但结果都一样。
我无法恢复到 SMBv1,因为共享不支持它。
该共享可以在其他系统(例如 MacOSX)上顺利安装,并且我可以读/写。
答案1
最终我找到了这个德文页面:
https://debianforum.de/forum/viewtopic.php?t=176154
解决办法是添加参数noserverino:
mount -t cifs //fritz.box/fritz.nas/wd -o rw,noserverino,username=user,password=password,workgroup=WORKGROUP
来自 man mount.cifs:
客户端自己生成 inode 编号,而不是使用服务器的实际编号。
使用指定用户在 /etc/fstab 中的完整挂载命令:
//fritz.box/fritz.nas/wd /home/user/wd cifs rw,noserverino,username=user,password=password,uid=user,gid=user,workgroup=WORKGROUP 0 0
确保已设置挂载点所有者:
chown user:user /home/user/wd/