我们正在运行 Debian wheezy 和 smbclient v 3.6.6,尝试达到 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
我检查了我们的 AD,以确保这两个用户在其他所有方面都是相同的。
答案1
这是一个已知问题,已报告于https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1318835
smbclient 的症状似乎是忽略了凭证文件中的“域”部分,因此 -A 不会覆盖 /etc/samba/smb.conf。根据问题报告的解决方法是您必须修改 smb.conf 中的 WORKGROUP:
[global]
workgroup = mydomain
这样您就可以继续使用 -A 访问 SMB 服务器。
希望这可以帮助。
答案2
我在使用 smbclient 时遇到了同样的问题,我注意到,当我在手动右键单击要共享的文件夹后出现的文件共享对话框中手动选择“仅启用文件共享”选项时,问题就消失了。
在某些 Windows 计算机(例如 Windows XP)中,您需要添加此项以允许非来宾用户进行远程共享:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\forceguest=dword:0
或者,使用 Windows XP 命令行自动执行:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v forceguest /t REG_DWORD /d 00000000 /f
此后,smbclient 对任何用户均可顺利运行。
非常感谢 jethomashttp://www.techsupportforum.com/forums/f10/enable-file-sharing-via-the-command-line-133562.html