我们主要是通过Kerberos登录的Linux用户。但是我们也有一些(<50(用户同时使用Linux和Windows。这应该在未来增长。 我们希望将我们的用户数据库保留在Unix/Kerberos端。
但是由于某种原因,我无法让它工作。
在阅读了一些指南(域匿名(后,我做了以下操作:
1( 将 ADDC 添加到 linux KDC 和 Linux 主机上的/etc/krb5.conf 中
AD.DOMAIN = {
kdc = PDC.AD.DOMAIN
admin_server = PDC.AD.DOMAIN
default_domain = ad.domain
}
2( 在 Linux 端添加跨领域原则
addprinc -pw <longPW> -requires_preauth krbtgt@AD.DOMAIN
addprinc -pw <longPW> -requires_preauth krbtgt/LINUX.REALM@AD.DOMAIN
addprinc -pw <longPW> -requires_preauth krbtgt/AD.DOMAIN@LINUX.REALM
3( 通过 ksetup 将领域信息添加到 Windows ADDC 和其他 Windows 机器
ksetup
default realm = ad.domain (NT Domain)
LINUX.REALM:
kdc = kdc.linux.realm
kpasswd = kdc.linux.realm
Realm Flags = 0x0No Realm Flags
Mapping all users (*) to a local account by the same name (*).
4( 通过以下方式在 Windows 端添加双向信任
netdom trust /d:LINUX.REALM ad /add /PT:longPW /realm /twoway
检查退货
nltest /TRUSTED_DOMAINS
List of domain trusts:
0: LINUX.REALM (MIT) (Direct Outbound) (Direct Inbound) ( Attr: non-trans )
1: AD ad.domain (NT 5) (Forest Tree Root) (Primary Domain) (Native)
The command completed successfully
但也
netdom trust lst /d:LINUX.REALM /verify /KERBEROS /twoway
The command failed to complete successfully.
5( 为用户添加映射
altSecurityIdentities for user adtest shows kerberos: test@LINUX.REALM
我可以使用ad\test登录(这不是我想要的(,但我不能以test@LINUX.REALM登录,这是我想要的
另一方面:
kinit test@AD.DOMAIN
Password for test@AD.DOMAIN:
root@kdc:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: test@AD.DOMAIN
Valid starting Expires Service principal
21/07/2017 13:24 21/07/2017 23:24 krbtgt/AD.DOMAIN@AD.DOMAIN
renew until 22/07/2017 13:24
我的问题: 我无法使用主体test@LINUX.REALM在窗口端登录。正如在主题中所写的,我们希望 Linux Realm 成为帐户域,而不是 AD,这也应该是可能的,不是吗?我们只想在Linux领域处理帐户的创建,删除等,让Windows用户使用他们的Linux帐户/密码登录。
我错过了什么?
正在执行
ksetup /addhosttorealmmap .dns.domain LINUX.REALM
在每个Windows客户端上,大多数都解决了这个问题。
现在,我可以使用 user@LINUX.REALM 登录到具有正确映射的 Windows 客户端。