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(查看当前的认证用户)

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程