You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora 36升级至38后FreeIPA主节点kinit失败(PAC相关)求助

Fedora 36升级至38后FreeIPA主节点kinit失败(PAC相关)求助

大家好,我这边遇到一个棘手的问题,想请教下各位大佬:

最近把Fedora从36升级到38后,我们FreeIPA域里的Kerberos认证彻底崩了,具体情况如下:

问题症状

  • 除了域管理员之外,所有用户执行kinit <username>都失败;主机也无法完成自身认证
  • 临时救急:在/etc/krb5.conf里添加disable_pac = true后,所有认证都恢复正常,但这个设置不符合安全规范,我们没法长期用它当解决方案

已尝试的排查/修复步骤

我已经试过不少方法,但问题依旧:

  • 按照网上帖子的建议,执行ipa config-mod --enable-sid --add-sids为所有用户生成SID,命令执行没报错,而且通过ipa user show --all确认每个用户都已经分配了SID
  • 检查了防火墙配置,确认完全符合FreeIPA的推荐要求
  • 一开始怀疑是两台主服务器的FreeIPA版本不一致,所以把两台都升级到了Fedora 38,但问题还是没解决

相关日志与配置信息

执行kinit时的错误输出

$ kinit user
Passwort für user@INTERN.EXAMPLE.DE:
kinit: allgemeiner Fehler (siehe E-Text) bei Anfängliche Anmeldedaten werden geholt.

KDC日志(/var/log/krb5kdc.log)中的认证失败条目

Nov 25 20:22:35 id.intern.example.de krb5kdc[2858](Information): AS_REQ (6 etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20), camellia256-cts-cmac(26), aes128-cts-hmac-sha256-128(19), aes128-cts-hmac-sha1-96(17), camellia128-cts-cmac(25)}) 141.83.153.180: HANDLE_AUTHDATA: user@INTERN.EXAMPLE.DE für krbtgt/INTERN.EXAMPLE.DE@INTERN.EXAMPLE.DE, Datei oder Verzeichnis nicht gefunden

当前/etc/krb5.conf配置内容

includedir /etc/krb5.conf.d/

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = INTERN.EXAMPLE.DE
dns_lookup_realm = false
dns_lookup_kdc = true
rdns = false
ticket_lifetime = 24h
forwardable = true
udp_preference_limit = 0
default_ccache_name = KEYRING:persistent:%{uid}

[realms]
INTERN.EXAMPLE.DE = {
kdc = id.intern.example.de:88
master_kdc = id.intern.example.de:88
kpasswd_server = id.intern.example.de:464
admin_server = id.intern.example.de:749
default_domain = intern.example.de
pkinit_anchors = FILE:/var/lib/ipa-client/pki/kdc-ca-bundle.pem
pkinit_pool = FILE:/var/lib/ipa-client/pki/ca-bundle.pem
}

[domain_realm]
.intern.example.de = INTERN.EXAMPLE.DE
intern.example.de = INTERN.EXAMPLE.DE
id.intern.example.de = INTERN.EXAMPLE.DE

[dbmodules]
INTERN.EXAMPLE.DE = {
db_library = ipadb.so
}

[plugins]
certauth = {
module = ipakdb:kdb/ipadb.so
enable_only = ipakdb
}

IPA服务状态(无异常)

$ ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful

目前我已经卡在这儿好一阵了,实在找不到头绪,希望能得到大家的帮助!如果有什么关键信息我没提到的,欢迎提醒我补充!

备注:内容来源于stack exchange,提问作者cybertschunk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 07:54:30