linux - 使用 MIT Kerberos 作为 Windows AD 域的帐户域

标签 linux authentication active-directory interop kerberos

我们大多数 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

检查返回

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 领域中的帐户创建、删除等,让 Windows 用户使用他们的 Linux 帐户/密码登录。

我错过了什么?

最佳答案

ksetup /addhosttorealmmap .dns.domain LINUX.REALM

在每个 windows 客户端上大部分都解决了这个问题。

我现在可以使用 user@LINUX.REALM 登录到具有正确映射的 Windows 客户端。

关于linux - 使用 MIT Kerberos 作为 Windows AD 域的帐户域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45236577/

相关文章:

linux - 如何在带双引号的ssh命令中处理单引号

linux - 如何测量应用程序或进程的实际内存使用情况?

azure - 本地 Active Directory ObjectId 与 Azure Active Directory ObjectId 不同

java - 使用 JNDI 连接到 AD - 为什么必须以用户名@域的格式提供安全主体?

active-directory - System.DirectoryServices 编译问题

r - 更新 Ubuntu 后如何重新建立 R 项目的默认库?

arrays - 如何检查数组的所有成员是否都等于 unix bash 中的某物

authentication - ASP.NET MVC4 安全、身份验证和授权

vb6 - 更新: Interacting with the user on the windows logon screen

java - 是否可以将身份验证对象(用户凭据)从 struts 传递到 spring 框架 Web 应用程序?