centos7 安装 Kerberos
1、安装kerberos
Kerberos Server节点(Kadmin,KDC)执行如下命令:
yum install -y krb5-server krb5-libs krb5-workstation
使用Kerberos的节点(只使用Kerberos认证)执行如下命令:
yum install -y krb5-devel krb5-workstation
2、配置krb5.conf
vim /etc/krb5.conf
#1、realms模块:
admin_server:kadmin服务(即Kerberos administration server)所在节点。
kdc:KDC服务所在节点。
#2、domain_realm模块:
此模块配置了domain name或者hostname同kerberos realm之间的映射关系。
如图:
3、配置 kdc.conf
根据需要修改 vim /var/kerberos/krb5kdc/kdc.conf
# kdc_ports:KDC服务监听的端口。
# acl_file:ACL文件的路径。Kerberos使用这个ACL文件来确定哪些principal具有哪些权限。
# dict_file:存放一个由多行字符串构成的文本文件,该文件中的字符串禁止作为密码使用。
# admin_keytab:KDC 进行校验的 keytab。
# supported_enctypes:支持的加密算法类型。
# default_principal_flags:默认的principal标识,即创建principal时候无需特殊指定默认自带的标识。
如图:
4、配置/var/kerberos/krb5kdc/kadm5.acl
# ACL文件用于控制kadmin数据库的访问权限,以及哪些principal可以操作其他的principal。
# 配置文件格式为:
# principal permissions [target_principal [restrictions] ]
# permissions官网有详细的列表,平时最为常用的是”*“,表示允许所有权限,并将该权限赋予管理员类型的principal。
# 例如我们配置:
# 表示所有后缀为/admin@ABC.COM的principal具有所有权限,充当管理员角色。
# 官网配置项详细解释参见:http://web.mit.edu/kerberos/krb5-latest/doc/admin/conf_files/kadm5_acl.html
5、初始化Kadmin数据库
命令格式为:
![]()
#创建 Kerberos 数据库(密码: ABC.COM)
rm -rf /var/kerberos/krb5kdc/principal* kdb5_util create -s -r ABC.COM
# -s:表示生成 stash file,并在其中存储 master server key(krb5kdc)
# -r:指定 realm name
6、启动Kerberos服务
systemctl start krb5kdc
systemctl start kadmin
7、使用(测试)
7.1、Kadmin数据库操作
- 如果有访问 KDC 服务器的 root 权限,但没有 kerberos admin 账户,使用
kadmin.local - 如果没有访问 KDC服务器的 root 权限,但用 kerberos admin 账户,使用
kadmin
在运行kadmin的节点上执行如下命令,进入kadmin操作模式:
输入"?"可以获取到所有命令和解释:

列出所有的principal:

添加一个principal
如果没有指定-randkey或-nokey参数,需要指定一个密码。

kinit(在客户端认证用户)
kinit root/admin@ABC.COM
klist(查看当前的认证用户)
浙公网安备 33010602011771号