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之间的映射关系。 详细说明可参考官网文档:http://web.mit.edu/kerberos/krb5-latest/doc/admin/conf_files/krb5_conf.html 如图:
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.html5、初始化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 root/admin@ABC.COM
klist(查看当前的认证用户)