使用 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 客户端。