Windows 7无法加入samba域

Windows 7无法加入samba域

我有一个 3.5.6 samba 服务器和一个 LDAP 后端(均在 Debian 6.0 上)。多年来,我一直成功地将 Windows XP 计算机添加到域中。现在我尝试添加 Windows 7。我已经建议更改注册表,但到目前为止我还没有成功。以下是发生的情况:

1.我转到计算机名称,选择“域”而不是“工作组”,输入域名,单击“确定”。它要求我输入可以将计算机添加到域的帐户的用户名和密码;我输入了它们。大约 40 秒后,我收到以下消息:

尝试加入域“ITIA”时发生以下错误:

找不到指定的计算机帐户。请联系管理员以验证该帐户是否在域中。如果帐户已被删除,请退出,重新启动并重新加入域。

尽管如此,samba 服务器还是成功创建了计算机帐户。

2.因此,如果我第二次尝试而不删除已创建的计算机帐户,我会收到不同的错误:

尝试加入域“ITIA”时发生以下错误:

指定的帐户已存在。

(请注意,直到不久前,samba 还未配置为自动创建计算机帐户。每当我想让 XP 加入时,我都会手动创建它。当我第一次尝试解决 Windows 7 加入问题时,我将 samba 设置为自动执行此操作,因为据我所知,大多数人都是这样做的,而且我认为这可能与此有关。自从进行此更改后,我还没有尝试添加 XP,所以我不知道它是否有效,但无论它是否有效,问题仍然存在。)

更新 1:以下是 smb.conf 的相关部分:

[global]

   panic action = /usr/share/samba/panic-action %d

   workgroup = ITIA
   server string = Itia file server
   announce as = NT
   interfaces = 147.102.160.1
   volume = %h

   passdb backend = ldapsam:ldap://ldap.itia.ntua.gr:389
   ldap admin dn = uid=samba,ou=daemons,dc=itia,dc=ntua,dc=gr
   ldap ssl = off
   ldap suffix = dc=itia,dc=ntua,dc=gr
   ldap user suffix = ou=people
   ldap group suffix = ou=groups
   ldap machine suffix = ou=computers
   unix password sync = no
   add machine script = smbldap-useradd -w -i %u

   log file = /var/log/samba/samba-log.all
   log level = 3
   max log size = 5000
   syslog = 2

   socket options = SO_KEEPALIVE TCP_NODELAY 

   encrypt passwords = true
   password level = 1
   security = user

   domain master = yes
   local master = no
   wins support = yes

   domain logons = yes
   idmap gid = 1000-2000

更新 2:该服务器有一个网络接口 eth1(还有一个未使用的 eth0,只显示在内核启动消息中)和两个 IP 地址;主 IP 地址 147.102.160.1,另一个 IP 地址 147.102.160.37,结果为“ip addr add 147.102.160.37/32 dev eth1”(仅用于证书与同一台机器上的其他网站不同的网站)。我最近遇到的一个问题是 samba 使用后者的 IP 地址。我通过在 smb.conf 中添加“interfaces = 147.102.160.1”语句解决了这个问题。

现在:

acheloos:/etc/apache2# tcpdump host 147.102.160.40 and not port 5900
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
13:13:56.549048 IP lithaios.itia.civil.ntua.gr.netbios-dgm > 147.102.160.255.netbios-dgm: NBT UDP PACKET(138)
13:13:56.549056 ARP, Request who-has acheloos2.itia.civil.ntua.gr tell lithaios.itia.civil.ntua.gr, length 46
13:13:56.549091 ARP, Reply acheloos2.itia.civil.ntua.gr is-at 00:10:4b:b4:9e:59 (oui Unknown), length 28
13:13:56.549324 IP acheloos.itia.civil.ntua.gr.netbios-dgm > lithaios.itia.civil.ntua.gr.netbios-dgm: NBT UDP PACKET(138)
13:13:56.549608 IP lithaios.itia.civil.ntua.gr.netbios-dgm > acheloos2.itia.civil.ntua.gr.netbios-dgm: NBT UDP PACKET(138)
13:13:56.549741 IP acheloos.itia.civil.ntua.gr.netbios-dgm > lithaios.itia.civil.ntua.gr.netbios-dgm: NBT UDP PACKET(138)
13:13:56.550364 IP lithaios.itia.civil.ntua.gr.netbios-dgm > acheloos.itia.civil.ntua.gr.netbios-dgm: NBT UDP PACKET(138)
13:13:56.550468 IP acheloos.itia.civil.ntua.gr.netbios-dgm > lithaios.itia.civil.ntua.gr.netbios-dgm: NBT UDP PACKET(138)

(acheloos2 是第二个 IP 地址,147.102.160.37)。当我单击“确定”(加入域)时,会发生上述转储,直到它要求我输入可以加入域的用户的用户名和密码。我不知道客户端为什么要联系第二个 IP 地址。我尝试暂时停用它,但我仍然有一些相关的 ARP 流量(虽然我认为不是 IP 流量)。

答案1

尝试将脚本从 更改smbldap-useradd -w -i %u
smbldap-useradd -W %u。这应该可以解决您的问题。

答案2

-i尝试删除

add machine script = smbldap-useradd -w -i %u

可能是信任问题

或者改为%u使用%m客户端的 NetBIOS 名称进行连接

相关内容