开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术:Kerberos 客户端配置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/708/detail/12559
Kerberos 客户端配置
1.cdh0、cdh1、cdh2 均执行
cdh0、cdh1、cdh2 作为 Kerberos 的客户端,三台机器安装客户端软件。使用 yum 语句安装,复制
yum -y install krb5-libs krb5-workstatign
cdh0
粘贴运行
[root@cdh0~]#yum -y install krb5-libs krb5-workstatign
cdh1、cdh2 同样复制粘贴运行
都执行完后 Kerberos 客户端安装完成,没有 var/kerberos 目录
[root@cdh0 ~]#cd /var/kerberos
-bash:cd:/var/kerberos:No such file ordirectory[root@cdh0 ~]#
此目录 server 才有
/var/kerberos/krb5kdc
[root@cdh3 krb5kdc]# 11
total 24
-rw-------. 1 root root 20 Sep 9 10:52 kadm5.acl
-rw-------.1rootroot 403 Sep 9 10:50 kdc.conf
-rw-------. 1 root root 8192 Sep 27 02:19 principal
-rw-------. 1 root root 8192 Sep 9 11:14 principal.kadm5
-rw-------.1 root root 0 Sep 911:14 principal.kadm5.lock
-rw-------.1 root root 0 Sep 27 2019 principal.ok
[root@cdh3 krb5kdc]#
有数据库相关文件、kadm5.acl 文件。
客户端的配置文件只有 etc/krb5.conf
cat/etc/krb5.conf 粘贴,与 server 相同配置
[logging]
default=FILE:/var/log/krb5libs.log
kdc =FILE:/var/log/krb5kdc.log
admin server=FILE:/var/log/kadmind.log
[libdefaults]
default realm=ITCAST.CN
dns_lookup realm =false
dns_lookup kdc=false ticket lifetime = 24h
renew_lifetime =7d
forwardable =true
[realms]
ITCAST.CN={
kdc=cdh3.itcast.cn
admin server=cdh3.itcast.cn
[domain realm]
.itcast.cn=ITCAST.CN
itcast.cn=ITCAST.CN
cdh1、cdh2 相同操作
2.从 server 机器将/etc/krb5.conf 复制到各个客户端同样的位置
3.测试登录 admin
执行 kinit 程序需要参数。
在 server 端创建 test/admin@ITCAST.CN 账户,尝试在客户端连接 admin 账户。
输入 krbtest/admin@ITCAST.CN 回车,输入密码 test 回车,没有任何输出说明没有问题。
[root@cdh0 ~]# kinit test/admin@ITCAST.CN
Password for
test/admin@ITCAST.CN:
[root@cdh0 ~]
#验证输入 klist 程序,回车。拿到 test/adminITCAST.CN 的 ticket,09/28/19 17:32:21 过期,有效期为24小时
Ticket cache:FILE:/tmp/krb5cc_0
Default principal:test/adminITCAST.CN
Valid starting Expires Service principal
09/27/1917:32:21 09/28/1917:32:21krbtgt/ITCASTCNITCAST.CN
renew until 09/25/19 11:41:52
将 test/adminITCAST.CN 验证后执行 kadmin,kadmin.local 只有 server 端有,客户端只能执行 kadmin,输入要 test/adminITCAST.CN 账户密码 txst,进入 admin 管理后台。
[root@cdh0 ~]# kadmin.local
bash: kadmin.local: command not found
[root@cdh0 ~]# kadmin
Authenticating as principal test/admin@ITCASTCN with password Password for test/admin@ITCAST.CN:
执行 listprincs,所有账户
kadmin: listprincs
K/M@ITCAST.CN
kadmin/admin@ITCAST.CN
kadmin/cdh3.itcast.cn@ITCAST.CN kadmin/changepw@ITCAST.CN
krbtest/admin@ITCAST.CN
krbtgt/ITCAST.CN@ITCAST.CN
root/admin@ITCAST.CN
test/admin@ITCAST.CN
与执行 kadmin.local 看到的一样,说明客户端可以正确连接到 admin 后台,客户端配置完成。cdh1、cdh2 相同操作。
4.客户端配置完成,使用 kinit 可得到对应账户的 ticket