目录
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操作