我正在尝试使用 PAM 和 Kerberos 设置 Winbind 以根据活动目录对 CentOS 7 进行身份验证。
到目前为止,这是我所做的:
yum -y install authconfig krb5-workstation pam_krb5 samba-common oddjob-mkhomedir
yum -y install samba-winbind-modules
authconfig --disablecache --enablewinbind --enablewinbindauth --smbsecurity=ads --smbworkgroup={DOMAIN-NETBIOSNAME} --smbrealm={My.DOMAINCOM} --enablewinbindusedefaultdomain --winbindtemplatehomedir=/home/{my.domain.com}/%U --winbindtemplateshell=/bin/bash --enablekrb5 --krb5realm={MY.DOMAIN.COM} --enablekrb5kdcdns --enablekrb5realmdns --enablelocauthorize --enablemkhomedir --enablepamaccess --updateall
kinit -v my.username
当我尝试获取 kerberos 票证时收到以下错误消息:
kinit:验证凭证时未找到凭证缓存文件“/tmp/krb5cc_0”
所以我尝试了
touch /tmp/krb5cc_0 && chmod 777 /tmp/krb5cc_0 && kinit -v my.username
产生的错误是:
kinit:验证凭证时凭证缓存格式错误
我还尝试创建一个与我尝试验证的 AD 用户同名的本地用户,结果相同。以下是经过清理的输出/etc/krb5.conf
。
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = {MY.DOMAIN.COM}
default_ccache_name = FILE:/tmp/krb5cc_%{uid}
dns_lookup_kdc = true
[realms]
MY.DOMAIN.COM = {
kdc = mypdc.my.domain.com
admin_server = mypdc.my.domain.com
}
[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
{my.domain.com} = {MY.DOMAIN.COM}
.{my.domain.com} = {MY.DOMAIN.COM}
我做错了什么?ccache 文件应该为每个用户自动生成吗?[libdefaults]
krb5.conf 文件的部分最初使用内核密钥环,并出现相同的初始错误,因此我尝试使用文件路径,认为这样会更容易。