我使用 smbfs 工具包来挂载我的 SMB 共享。我编写了一个快速脚本来挂载共享:
#!/bin/sh
/usr/bin/smbmount "\\\\somehost.local\\hostshare" /media/hostshare -o user=smbuser,dom=WORKGROUP,uid=localuser,gid=localgroup
此脚本在 9.10 中由“localuser”帐户调用时可以运行,但在我新安装的 10.04 中它失败并出现错误:
mount error(1): Operation not permitted
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
/media/hostshare 目录为空,并具有以下权限:
drwxrwxr-x 2 localuser localgroup 4096 2010-12-12 12:04 hostshare/
“localuser” 属于以下组:
localgroup adm dialout cdrom plugdev lpadmin admin sambashare
知道这是怎么回事吗?Google 似乎建议需要设置“粘性”位/sbin/mount.cifs
/sbin/mount.smbfs
,然后/sbin/umount.cifs
这是一个错误吗?
答案1
在 Ubuntu 中查看这个错误:
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/563805
以及 Debian 中的相关错误:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=571323
这是出于安全原因而故意做出的行为改变。您可能不想使用设置了 setuid 位的 mount,而是希望使用 sudo 来运行它。
答案2
对我来说,添加sec=ntlmv2
参数是有效的。
例子:
sudo mount //server/share /localdirectory -o user=username,domain=WORKGROUP,sec=ntlmv2,iocharset=utf8
答案3
您之前是否自定义过 smb.conf?如果没有,您连接的 Windows 系统自上次连接以来是否更改了其配置?一个可能的解决方案:在您的/etc/samba/smb.conf
客户端 ntlmv2 身份验证 = 是