我们主要是通过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 ad\test 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在Windows端登录。正如在主题中所写,我们希望Linux Realm成为帐户域,而不是AD,这应该是可能的,不应该吗?我们只想在Linux Realm中处理帐户创建,删除等操作,让Windows用户使用他们的Linux帐户/密码登录。
我错过了什么?
答案 0 :(得分:1)
否则
ksetup /addhosttorealmmap .dns.domain LINUX.REALM
每个Windows客户端上的主要解决了这个问题。
我现在可以使用user@LINUX.REALM以正确的映射方式登录到Windows客户端。