Sau*_*aus 6 active-directory kerberos pam windows-server-2008-r2 sssd
我在 CentOS 6.3 对 2008R2 AD DC 进行身份验证的这个线程中描述了一个非常相似的问题。
这是我的 krb5.conf,我知道 XXXXXXX.LOCAL 是真正的域名:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = XXXXXXX.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
verify_ap_req_nofail = false
[realms]
XXXXXXX.LOCAL = {
kdc = ad1.XXXXXXX.local
kdc = ad2.XXXXXXX.local
admin_server = ad1.XXXXXXX.local
default_domain = XXXXXXX.LOCAL
}
[domain_realm]
.XXXXXXX.local = XXXXXXX.LOCAL
XXXXXXX.local = XXXXXXX.LOCAL
.XXXXXXX.com = XXXXXXX.LOCAL
XXXXXXX.com = XXXXXXX.LOCAL
Run Code Online (Sandbox Code Playgroud)
当我做一个:
kinit 用户名@XXXXXXX.LOCAL
一切都按预期工作, klist -e 返回它应该的详细信息,但是当我尝试执行以下操作时:
用户名
sssd krb5_child.log 显示以下内容:
[unpack_buffer] (0x0100): cmd [241] uid [10002] gid [10002] validate [false] offline [false] UPN [username@XXXXXXX.COM]
[unpack_buffer] (0x0100): ccname: [FILE:/tmp/krb5cc_10002_XXXXXX] keytab: [/etc/krb5.keytab]
[krb5_child_setup] (0x0400): Will perform online auth
[krb5_child_setup] (0x0100): Cannot read [SSSD_KRB5_RENEWABLE_LIFETIME] from environment.
[krb5_child_setup] (0x0100): Cannot read [SSSD_KRB5_LIFETIME] from environment.
[krb5_set_canonicalize] (0x0100): SSSD_KRB5_CANONICALIZE is set to [false]
[krb5_child_setup] (0x0100): Not using FAST.
[get_and_save_tgt] (0x0400): Attempting kinit for realm [XXXXXXX.COM]
[get_and_save_tgt] (0x0020): 977: [-1765328230][Cannot find KDC for requested realm]
[kerr_handle_error] (0x0020): 1030: [-1765328230][Cannot find KDC for requested realm]
[prepare_response_message] (0x0400): Building response for result [-1765328230]
[main] (0x0400): krb5_child completed successfully
Run Code Online (Sandbox Code Playgroud)
我也知道 XXXXXXX.COM 是 AD 树中 XXXXXXX.LOCAL 的别名,并且运行:
kinit 用户名@XXXXXXX.COM
产生与 krb5_child.log 中完全相同的错误
kinit:在获取初始凭据时找不到请求领域的 KDC
几天来,我一直在努力解决这个问题,希望得到任何指点。:)
您处理的称为企业委托人。您只有一个 AD 域,但用户可以关联其他用户主体名称 (UPN),因此除了 XXXX.LOCAL 之外,他们还可以拥有 XXXX.COM 并使用 user@XXXX.COM 代替 user@XXXX.LOCAL。
从 1.10 开始,SSSD 确实支持企业主体。影响 1.10 beta 版本的实现中的错误很少,但它们在 Fedora 19+ 中可用的最终版本之前得到解决。
但是,此更改在 RHEL 6.x(或 CentOS 6.x)中不可用,因为对企业主体的支持相对具有侵入性,并且未向后移植到 1.9.x。
您可能有兴趣在https://bugzilla.redhat.com/show_bug.cgi?id=972357和https://bugzilla.redhat.com/show_bug.cgi?id=924404 中查找详细信息
如果您未在 中指定领域krb5.conf并关闭 DNS 查找,您的主机将无法知道 XXXXXX.COM 是 XXXXXX.LOCAL 的别名。
像这样在 krb5.conf 中添加一个领域部分,看看会发生什么。
XXXXXXX.COM = {
kdc = ad1.XXXXXXX.local
kdc = ad2.XXXXXXX.local
admin_server = ad1.XXXXXXX.local
}
Run Code Online (Sandbox Code Playgroud)
打开realm 和kdc 的dns 查找也可以完成同样的事情。
dig -t srv _kerberos._udp.XXXXXX.com
Run Code Online (Sandbox Code Playgroud)
应该是上面使用的真实服务器。
但是,我不确定这是否真的是正确的事情。上面的 krb5.conf 应该将您置于 XXXXXX.LOCAL 领域,尝试找出 sssd 忽略的原因,这可能会引导您走向正确的方向。
| 归档时间: |
|
| 查看次数: |
93024 次 |
| 最近记录: |