使用 Samba 连接到 Windows 共享会返回“NT_STATUS_DUPLICATE_NAME”

Nei*_*eil 11 linux windows file-sharing samba

我在我的 Windows 机器上设置了一个共享目录,并授予 username@workgroup 完全控制权限。

当我尝试使用 smbclient 连接到带有 Linux 的 Windows 机器时,出现错误NT_STATUS_DUPLICATE_NAME。这是抄本:

$ smbclient -U username -W workgroup -L //windows-machine
Enter username's password: 
Domain=[workgroup] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
tree connect failed: NT_STATUS_DUPLICATE_NAME
Run Code Online (Sandbox Code Playgroud)

如果我故意输入错误的用户名、密码或工作组,我会收到不同的错误:NT_STATUS_LOGON_FAILURE. 所以看起来我得到的其他信息是正确的。

我在 /etc/hosts 中放置了一个指向windows-machine其 IP 地址的条目。Windows 机器的 NetBIOS 名称有所不同。

有谁知道这个错误是什么意思?

Joh*_*nie 10

Windows 机器的 NetBIOS 名称有所不同

那是你的问题。它很容易通过 Windows 机器上的注册表黑客修复。有关详细信息,请参阅http://support.microsoft.com/kb/281308

更新

上面链接的原始支持文章已经消失(感谢微软)。新文章通过DNS CNAME别名SMB文件服务器共享访问不成功

Joril还指出,一个服务器可以有多个 NetBIOS 名称。这是通过编辑注册表项来完成的:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\OptionalNames
Run Code Online (Sandbox Code Playgroud)

并添加额外的名称。


cha*_*aos 6

您可能会收到该错误,因为 Windows 机器无法将自己识别为您正在连接的对象。(使用错误的身份验证信息会更改错误,因为直到连接过程的后期才会出现此问题。)

尝试连接到它作为它的 IP 号码,而不是windows-machine. 如果这有效,它会确认名称是正在发生的事情,您可以通过让 PDC 理解它自己windows-machine或仅使用 IP 号来解决它。