在一些故障排除过程中,我从我们的 AD 2003 域中删除了运行 samba 的 Linux 服务器的机器帐户。我们正在使用 Kerberos 进行身份验证,在我删除机器帐户后,我尝试再次使用
net ads join -U Administrator
但我不断收到这样的 Kerberos 错误:
[2009/08/18 16:14:36, 0] libads/kerberos.c:ads_kinit_password(228)
kerberos_kinit_password [email protected] failed: Client not found in Kerberos database
Failed to join domain: Improperly formed account name
看起来好像 samba 记得它曾经在 AD 上拥有一个帐户并不断尝试重新连接到它,但我想从头开始创建一个新帐户。我试图删除我能找到的所有 .tdb 文件以及 /var/cache/samba 下的所有内容,但无济于事 - 它的行为仍然相同。
我也尝试在 AD 端创建机器帐户,但是当我尝试加入时出现类似的错误,关于无法使用机器帐户进行身份验证 - 看起来 samba 尝试了以前的机器帐户密码,而我没有知道如何重置它,或者即使我可以弄清楚 samba 使用什么 - 如何在 AD 中设置它。
任何帮助将不胜感激,因为此时我唯一能想到的就是重新格式化并重新安装机器,我真的很想不这样做。
提前致谢。
首先运行 kdestory 以删除本地 kerberos 缓存中对机器帐户的任何引用,然后手动运行 kinit [email protected] 并输入密码。
然后运行 net ads join 命令。
这应该为您提供 kerberos 信任来创建机器帐户,而无需尝试使用旧的机器帐户凭据。
您是否使用 smbpasswd 命令重新创建了 .tdb 文件?
您是否尝试过在重新加入之前运行“网络广告离开”命令?它可能会在它的 AD 部分失败,因为计算机帐户已经在 AD 端被删除。
做一个快速实验,将 smb.conf 中的 samba 名称更改为其他名称并尝试。