我们正在使用 smbclient v 3.6.6 运行 Debian wheezy,试图达到 Windows 2012 R2 共享。
这个难题涉及两个用户:ReadOnlyUser 和 WriteUser
多年来,我们一直使用 -A (--authentication-file) 来访问我们的 Windows 共享,以便针对各种 Windows 共享、sftp 和 Web 端点自动执行许多文件传输作业。我可以使用 -A 选项毫无困难地使用 ReadOnlyUser 对此共享进行登录。
smbclient '//server.domain/share' -A ReadOnlyUser.auth
如果我以交互方式响应提示提供密码,我可以使用 -U 使用 WriteUser 登录。
smbclient '//server.domain/share' -U WriteUser
但是,当我尝试提供带有 WriteUser 凭据的身份验证文件时,我收到此错误:session setup failed: NT_STATUS_LOGON_FAILURE
身份验证文件如下所示:
用户名 = WriteUser
密码 = 3iDPCAWmdiAQxTn3
域 = mydomain
我检查了我们的广告以确保这两个用户在所有其他方面都是相同的。
这是一个已知问题,已在https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1318835上报告
smbclient 的症状似乎忽略了您的凭据文件中的“域”部分,因此 -A 不会覆盖 /etc/samba/smb.conf。基于问题报告的解决方法是您必须修改 smb 中的 WORKGROUP。配置:
这样您就可以继续使用 -A 访问 SMB 服务器。
希望这可以帮助。
我在使用 smbclient 时遇到了同样的问题,我注意到当我在手动右键单击要共享的文件夹后得到的文件共享对话框上手动选择“仅启用文件共享”选项时,它就消失了。
在某些 Windows 机器(如 Windows XP)中,您需要添加此项以允许非来宾用户进行远程共享:
或者,使用 windows xp 命令行自动化:
之后,smbclient 对任何用户都没有任何问题。
非常感谢http://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html中的 jethomas