Linux 到 Windows - smbclient 工作正常,但 mount.cifs 不工作

Linux 到 Windows - smbclient 工作正常,但 mount.cifs 不工作

我在 Windows 11 中的 Hyper-V 中使用 Ubuntu 22.04 客户机。我创建了一个文件共享并将其共享给本地用户(“shareuser”)。我试图使用 cifs 和相应的更改自动挂载它,/etc/fstab但完全无法做到。当我在命令行中执行挂载时,它告诉我:

sudo mount -t cifs -o domain=WORKGROUP,username=shareuser,password=pass1234 
//172.22.0.1/sharename /home/otheruser/share
mount: /home/otheruser/share: cannot mount //172.22.0.1/sharename read-only.

sharename肯定不是只读的,因为我可以连接 smbclient 并完全正常地传输文件。只是 cifs 不能正常工作。

工作的连接smbclient如下所示:

smbclient -U WORKGROUP/shareuser --password 'pass1234' //172.22.0.1/sharename

奇怪的是,我有另一台 Ubuntu 22.04 VM,它运行正常。我发现很多帖子都指向同一个方向,但没有一个有完全相同的错误消息。而且--verbose输出的错误消息不超过上述内容。每一条提示都值得赞赏。

答案1

从 Linux CIFS 连接到 Windows 11 需要 SMB3。以下是在 Debian 12 (“bookworm”) 上对我有用的两种变体:

w='WORKGROUP'                 # Workgroup or domain; blank if unused
u='shareuser'                 # Username
p='pass1234'                  # Password; no comma allowed
s='//172.22.0.1/sharename'    # Share

mkdir -p /mnt/net
mount -t cifs -o "vers=3.02,${w:+domain=$w,}username=$u,password=$p" "$s" /mnt/net

smbclient --user "$u" --max-protocol SMB3 "$s" "$p" --command 'dir'

相关内容