目录
1 案例目标
掌握Kerberos管理员的基本操作命令
2 环境要求
已安装了KDC服务端
拥有管理员主体
3 案例流程
使用kinit命令为管理员主体获取ticket
使用kadmin命令登录管理服务器
使用addprinc命令添加普通用户
使用listprincs查看主体列表
使用getprinc查看主体详情
使用delprinc命令删除主体
使用klist命令查看证书缓存
使用kdestroy命令销毁缓存
4 案例实践
我们使用前面建立的管理员用户(jerry/admin),使用kadmin命令添加一些principal。
1)首先我们需要为jerry/admin@MYTRAIN.COM principal获取ticket
kinit jerry/admin

中间需要输入密码
首先要启动kdc服务:
[root@kdcserver ~]# krb5kdc
[root@kdcserver ~]# kadmind否则会报错:kinit: Cannot contact any KDC for realm 'MYTRAIN.COM' while getting initial credentials
2)登录到kadmin管理服务器
kadmin
中间仍旧需要输入密码

3)添加普通用户mary
kadmin提示符:addprinc mary
中间需要为mary设置密码

4)查看principal确认mary添加成功
kadmin提示符:listprincs

5)显示principal详情
kadmin提示符:getprinc mary@MYTRAIN.COM

6) 删除指定主体
kadmin提示符:delprinc mary@MYTRAIN.COM

删除principal后可以使用listprincs验证删除情况。
7)查看证书缓存
用户登录成功后,会在本地存储该用户的证书,使用klist命令可以查看当前用户的证书缓存
klist

说明:
证书缓存在/tmp目录下
当前默认principal是:jerry/admin@MYTRAIN.COM
列举了有效期和服务主体(krbtgt/MYTRAIN.COM@MYTRAIN.COM)
8)销毁凭证缓存
kdestroy
再次使用klist查看时证书缓存已销毁。

5 案例解析
关于kadmin.local和kadmin
kadmin.local
仅允许Kerberos数据库所在机器的root用户执行,要远程管理kerberos数据库需要使用kadmin
kadmin
允许远程连接并管理Kerberos数据库的守护进程
远程访问Kerberos数据库的权限在kadm5.acl文件中进行设置
远程客户端在使用kadmin命令时,先经过Kerberos认证,如果需要访问数据库,需要用于kadmin5.acl中的权限
6 案例总结
用户主体存储在Kerberos数据库中
使用具有管理员权限的用户可以对普通用户主体进行CRUD操作