Kerberos 操作命令使用

一. 指南

1. 登录

kinit

2. 查询登录状态

klist

3. 退出

kdestroy

二. 使用指南

1. 登录管理KDC服务器,登录后台

kadmin.local

2. 查看用户列表

listprincs

3. 修改帐号密码(可修改忘记密码)

[root@dounine ~]# kadmin.local
Authenticating as principal root/admin@EXAMPLE.COM with password.
kadmin.local:  change_password admin/admin@EXAMPLE.COM
Enter password for principal "admin/admin@EXAMPLE.COM": 123456
Re-enter password for principal "admin/admin@EXAMPLE.COM": 123456
Password for "admin/admin@EXAMPLE.COM" changed.

4. 创建用户

[root@dounine ~]# kadmin.local
Authenticating as principal root/admin@EXAMPLE.COM with password.
kadmin.local:  add_principal test1
WARNING: no policy specified for test1@EXAMPLE.COM; defaulting to no policy
Enter password for principal "test1@EXAMPLE.COM": 123456
Re-enter password for principal "test1@EXAMPLE.COM": 123456
Principal "test1@EXAMPLE.COM" created.

5. 删除用户

[root@dounine ~]# kadmin.local
Authenticating as principal root/admin@EXAMPLE.COM with password.
kadmin.local:  delete_principal test1
Are you sure you want to delete the principal "test1@EXAMPLE.COM"? (yes/no): yes
Principal "test1@EXAMPLE.COM" deleted.
Make sure that you have removed this principal from all ACLs before reusing.

6. 只导出用户keytab文件(并且不要修改密码)

[root@dounine ~]# kadmin.local
Authenticating as principal root/admin@EXAMPLE.COM with password.
kadmin.local:  xst -k admin.keytab -norandkey admin/admin@EXAMPLE.COM
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type aes256-cts-hmac-sha1-96 added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type aes128-cts-hmac-sha1-96 added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type des3-cbc-sha1 added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type arcfour-hmac added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type camellia256-cts-cmac added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type camellia128-cts-cmac added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type des-hmac-sha1 added to keytab WRFILE:admin.keytab.
Entry for principal admin/admin@EXAMPLE.COM with kvno 6, encryption type des-cbc-md5 added to keytab WRFILE:admin.keytab.
kadmin.local:  exit

7. 使用Keytab验证是否可以登录(无错误输出即可)

kinit -kt /etc/security/keytabs/admin.keytab admin/admin@EXAMPLE.COM

8. 查看Keytab文件中的账号列表

[root@dounine ~]# klist -ket hbase.headless.keytab

Keytab name: FILE:hbase.headless.keytab
KVNO Timestamp           Principal
---- ------------------- ------------------------------------------------------
   7 2018-07-30T10:19:16 hbase-flink@demo.com (des-cbc-md5) 
   7 2018-07-30T10:19:16 hbase-flink@demo.com (aes128-cts-hmac-sha1-96) 
   7 2018-07-30T10:19:16 hbase-flink@demo.com (aes256-cts-hmac-sha1-96) 
   7 2018-07-30T10:19:16 hbase-flink@demo.com (des3-cbc-sha1) 
   7 2018-07-30T10:19:16 hbase-flink@demo.com (arcfour-hmac)

三. Kerberos 常用命令总结

# 进入kadmin
kadmin.local / kadmin

# 创建数据库
kdb5_util create -r JENKIN.COM -s

# 启动kdc服务
service krb5kdc start

# 启动kadmin服务
service kadmin start

# 修改当前密码
kpasswd

# 测试keytab可用性 / 通过keytab文件认证登录
kinit -kt /etc/security/keytabs/root.keytab root/cdh-master.hadoop.cn@HADOOP.CN

# 查看keytab
klist -e -k -t /etc/krb5.keytab

# 清除缓存
kdestroy




# kadmin 模式下
# 生成随机key的principal
addprinc -randkey root/master.hadoop.cn@HADOOP.CN

# 生成指定key的principal
Addprinc -pw **** admin/admin@JENKIN.COM

# 查看principal
listprincs

# 修改admin/admin的密码
cpw -pw xxxx admin/admin

# 添加/删除principle
addprinc/delprinc admin/admin

# 直接生成到keytab
ktadd -k /etc/krb5.keytab host/master1@JENKIN.COM 

# 设置密码策略(policy)
addpol -maxlife "90 days" -minlife "75 days" -minlength 8 -minclasses 3 -maxfailure 10 -history 10 user

# 添加带有密码策略的用户
addprinc -policy user hello/admin@HADOOP.COM

# 修改用户的密码策略
modprinc -policy user1 hello/admin@HADOOP.COM

# 删除密码策略
delpol [-force] user

# 修改密码策略
modpol -maxlife "90 days" -minlife "75 days" -minlength 8 -minclasses 3 -maxfailure 10 user

### 不同操作系统上的Kerberos客户端安装与配置 #### Linux系统下的Kerberos客户端安装与配置 对于Linux系统而言,以麒麟V10为例来说明Kerberos客户端的安装过程。首先通过命令`yum install krb5-libs -y`完成krb5库文件的安装[^3];接着利用`yum install krb5-devel -y`获取开发包支持;最后采用特定版本的rpm包进行客户端程序本身的部署,如`rpm -ivh krb5-client-1.17-9.ky10.x86_64.rpm`所示。 成功安装之后,需编辑`/etc/krb5.conf`文件设置默认域、KDC服务器地址以及管理服务器信息等必要参数。此步骤确保了后续能够正常连接到指定的Kerberos认证中心并请求票据授予票证(TGT)[^2]。 #### Windows系统的Kerberos客户端集成 Windows操作系统自带对Kerberos协议的支持功能,默认情况下无需额外下载软件即可实现基本的身份验证需求。然而为了更好地管理和维护企业级应用中的安全机制,则建议启用活动目录(AD)服务作为内部网络内的主要身份提供商,并按照微软官方文档指导完成相应设定调整工作。 具体来说,在组策略对象(GPO)中定义合适的计算机和用户权限分配方案,同时保证时间同步精度满足跨平台互操作性的严格要求。此外还可以借助PowerShell脚本自动化部分重复性高的任务流程,提高工作效率的同时减少人为失误发生的可能性。 #### macOS环境下Kerberos工具链构建方法 macOS同样预装了一套完整的Kerberos框架供开发者调用。如果遇到任何问题或者想要自定义某些行为特性的话,可以从苹果开发者网站获得最新版开源项目源码加以修改完善后再编译成可执行文件形式发布出去共享给社区成员测试反馈意见。 另外值得注意的一点是在Homebrew包管理系统里也存在多个第三方贡献者维护着高质量的相关扩展插件可供选用尝试,比如`kinit`, `klist`, 和`kvno`这些常用指令行实用程序都能够在终端窗口内快速访问调用,极大地方便了日常排查故障的工作进程推进速度提升显著。 ```bash brew install krb5 ``` 以上就是针对三大主流桌面级操作系统平台上有关于如何正确无误地实施Kerberos客户端安装及初步配置工作的详细介绍[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值