smbclient 连接到 Windows 机器时获取 NT_STATUS_LOGON_FAILURE

smbclient 连接到 Windows 机器时获取 NT_STATUS_LOGON_FAILURE

我在 Ubuntu 上运行 smbclient,尝试连接到 Windows 机器,但出现“会话设置失败:NT_STATUS_LOGON_FAILURE”。

我已经验证过我可以 ping 通该机器并远程登录到端口 139/445,所以我很确定这不是防火墙问题。而且我的客户说他们可以使用用户名/密码组合从另一个 Windows 机器连接到这个 Windows 机器,没有任何问题。此外,这个机器可以通过 smbclient 连接到该客户拥有的其他 Windows 机器。

对于为什么这不起作用还有其他想法吗?

答案1

您检查过您的 smb.conf 吗?

确保您的工作组和安全设置正确。如果您使用计算机作为域的一部分,则身份验证请求首先通过您的域控制器传递,因此请确保您有类似以下内容的内容:

security = domain
workgroup = WORKGROUP

您还可以使用该-W选项指定工作组,并DOMAIN/在用户名前添加以指定域:

$smbclient -L myhost -U DOMAIN/user -W workgroup

希望这可以帮助!

答案2

同样的问题。我必须使用以下命令将用户添加到 Samba 密码文件中

sudo smbpasswd -a

显然这是因为 /etc/samba/smb.conf 中的默认配置是

安全 = 用户

passdb 后端 = tdbsam

我没有使用域控制器或活动目录,所以我以为访问常规密码文件是默认设置,但我想不是。如果我找到的文档中能清楚地说明这一点就好了。“smbpasswd”参考提供了导致此解决方案的提示。

答案3

我在使用 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

答案4

我跑步时遇到了同样的问题

smbclient \\\\[ip]\\[sharedresource]

该命令要求我输入 root 用户的密码,但是当我输入密码时,收到 NT_STATUS_LOGON_FAILURE 错误。

我添加了 -U 来指定我的远程机器的用户名并且它起作用了

smbclient \\\\[ip]\\[sharedresource] -U [username]

相关内容