使用 MIT Kerberos 作为 Windows AD 域的帐户域
Using MIT Kerberos as account domain for Windows AD Domain
我们大多数 Linux 用户通过 Kerberos 登录。但我们也有一些 (<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
勾选returns
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 领域成为帐户域,而不是 AD,这应该也是可能的,不是吗?我们只想处理 Linux 领域中的帐户创建、删除等,让 Windows 用户使用他们的 Linux Account/Password.
登录
我错过了什么?
正在做
ksetup /addhosttorealmmap .dns.domain LINUX.REALM
每个 windows 客户端都解决了这个问题。
我现在可以使用 user@LINUX.REALM 登录到具有正确映射的 windows 客户端。
我们大多数 Linux 用户通过 Kerberos 登录。但我们也有一些 (<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
勾选returns
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 领域成为帐户域,而不是 AD,这应该也是可能的,不是吗?我们只想处理 Linux 领域中的帐户创建、删除等,让 Windows 用户使用他们的 Linux Account/Password.
登录我错过了什么?
正在做
ksetup /addhosttorealmmap .dns.domain LINUX.REALM
每个 windows 客户端都解决了这个问题。
我现在可以使用 user@LINUX.REALM 登录到具有正确映射的 windows 客户端。