我正在使用 Samba 3,并想将我的 Windows 8 PC 加入 Samba 域。
Windows 8 无法开箱即用,因此我添加了以下注册表项:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode 1
DWORD DNSNameResolutionRequired 0
现在它可以与 Samba 服务器正常通信,但是我收到以下错误:
并且我注意到在 samba 服务器上创建的机器名与其名称不匹配:
win-8jq3fg1n74e$:x:30003:30003:Machine:/var/lib/nobody:/bin/false
就像使用内部名称一样。
以下是错误smb.log
[2012/10/21 14:26:16.099520, 0] passdb/pdb_interface.c:348(pdb_default_create_user) _samr_create_user: Running the command `/usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false win-8jq3fg1n74e$' gave 9
[2012/10/21 14:26:28.143224, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/10/21 14:26:28.143420, 0] lib/util_sock.c:1441(get_peer_addr_internal)
getpeername failed. Error was Transport endpoint is not connected
read_fd_with_timeout: client 0.0.0.0 read error = Connection reset by peer.
答案1
为了实现这个功能我做了两件事,但我相信第一件事可能就是全部了:
看起来,虽然您在设置中很早就设置了计算机名称,但实际上直到再次重新启动时才设置。因此,在内部,直到重新启动后,它才会
win-xxxxxxxxxxx
采用上面“计算机名称”对话框中定义的计算机名称。在计算机名称对话框中设置主后缀
通过 OP 中的注册表设置和附加启动(并可能确保有后缀),加入 Samba 域就可以正常工作。
答案2
[2012/10/21 14:26:28.143224, 0] lib/util_sock.c:474(read_fd_with_timeout)
[2012/10/21 14:26:28.143420, 0] lib/util_sock.c:1441(get_peer_addr_internal)
我也遇到了同样的问题。我可能破坏了用户和组之间的关系。
我删除了用户和组,创建了新的,一切正常。