我在使用 Kerberos 和 Ubuntu 20.04 时遇到问题。
我正在运行一个 FreeIPA 服务器,但由于它可以在我的 Centos 机器上运行,我想这是一个客户端问题。
最大的目标是拥有一个 SSO 系统,用于多种服务。大多数情况下它按预期工作,但有一件事拒绝为我工作:
让 automount/autofs 接受我的 Kerberos 配置。一个主要问题是 autofs 无法读取KRB5CCNAME
环境变量。它总是使用 libdefault,如果 Ubuntu 也这样做的话,那很好。但是,出于某种原因,无论我尝试什么,Ubuntu 都不会设置 KRB5CCNAME 环境。变种。在正确登录部分期间,但始终默认为FILE:/tmp/krb5cc_\<UID>_\<VALUE>
.
我更喜欢使用密钥环,所以我写default_ccache_name = KEYRING:persistent:%{uid}
在 libdefaults 部分的 krb5.conf 中。当手动设置 KRB5CCNAME 时,一切都很好,自动挂载连接到我的 samba 驱动器。
但是让系统决定变量应该包含什么,总是会导致FILE:...
我的客户 krb5.conf 如下所示:
includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
default = FILE:/var/log/krb5.log
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = true
dns_lookup_kdc = true
rdns = false
dns_canonicalize_hostname = false
ticket_lifetime = 24h
forwardable = true
udp_preference_limit = 0
default_ccache_name = KEYRING:persistent:%{uid}
ccache_type = 4
[realms]
EXAMPLE.COM = {
kdc = ipa.example.com:80
master_kdc = ipa.example.com:88
admin_server = ipa.example.com:749
kpasswd_server = ipa.example.com:464
default_domain = example.com
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]
.example.com = <EXAMPLE.COM>
example.com = <EXAMPLE.COM>
client.example.com = <EXAMPLE.COM>
SSSD 配置:
[domain/example.com]
debug_level=10
cache_credentials = True
krb5_store_password_if_offline = True
ipa_domain = EXAMPLE.COM
id_provider = ipa
auth_provider = ipa
access_provider = ipa
ipa_hostname = client.example.com
chpass_provider = ipa
ipa_server = _srv_, ipa.example.com
ldap_tls_cacert = /etc/ipa/ca.crt
ldap_search_base = cn=accounts,dc=example,dc=com
krb5_ccname_template = KEYRING:persistent:%U
[sssd]
services = nss, sudo, pam, ssh
config_file_version = 2
domains = example.com
debug_level=10
[nss]
override_shell = /bin/bash
[pam]
offline_credentials_expiration = 60
debug_level=10
[domain/default]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
access_provider = ldap
ldap_access_filter = (objectClass=posixAccount)
debug_level=10
[ssh]
[sudo]
有任何想法吗?