从 Fritz 路由器安装 CIFS SMB 网络驱动器时过时的文件处理程序

从 Fritz 路由器安装 CIFS SMB 网络驱动器时过时的文件处理程序

使用最新的 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/

相关内容