我通过 yum 命令在 CentOS 7 上安装了 Kerberos。
yum install krb5-server krb5-libs krb5-workstation pam_krb5 -y
我的情况如下:
- 有 1 个 KDC。
- 它有 2 个服务服务器。
KDC的krb5.conf文件设置如下。
# Configuration snippets may be placed in this directory as well
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]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
default_realm = MYREALM.NET
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
MYREALM.NET = {
kdc = kdc.myrealm.net
admin_server = kdc.myrealm.net
}
[domain_realm]
.myrealm.net = MYREALM.NET
myrealm.net = MYREALM.NET
我使用以下命令添加了主机主体。
# kadmin.local -q 'addprinc -randkey host/build.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/build.keytab host/build.myrealm.net'
# scp /tmp/build.keytab build.myrealm.net:/etc/krb5.keytab
# kadmin.local -q 'addprinc -randkey host/api.myrealm.net'
# kadmin.local -q 'ktadd -k /tmp/api.keytab host/api.myrealm.net'
# scp /tmp/api.keytab api.myrealm.net:/etc/krb5.keytab
我使用以下命令添加了用户主体。
# kadmin.local -q 'addprinc eric'
通过上面添加的用户主体,通过下面的ssh命令,无需密码即可成功连接两台服务服务器。
顺便说一下,我想管理一个可由用户主体访问的服务服务器。
我想知道如何设置添加的用户主体不访问领域的特定主机主体。
总而言之,我希望获得有关如何使添加的用户主体eric
仅在api.myrealm.net
服务服务器之间可访问的建议。
我添加了用户主体和主机主体,并将主机主体 keytab 文件复制到服务服务器。
无需密码,即可成功访问同一realm内的service服务器。
但是,我想要做的是管理每个用户主体的授权。
答案1
作为对我的问题的回答,我建议使用 FreeIPA。在 FreeIPA 中创建策略并根据每个用户应用它解决了我预期的问题。