友情提醒
全文共计936字,阅读耗时约2分24秒
0、关于kerberos
可使用kadmin.local或kadmin,至于使用哪一个,取决于帐户和访问权限:
kadmin.local(on the KDC machine)or kadmin (from any machine)
若是有访问kdc服务器的root权限,可是没有kerberos admin帐户,使用kadmin.local
若是没有访问kdc服务器的root权限,可是有kerberos admin帐户,使用kadmin
Kerberos principal用于在kerberos加密系统中标记一个惟一的身份。
kerberos为kerberos principal分配tickets使其能够访问由kerberos加密的hadoop服务。
对于hadoop,principals的格式为username/fully.qualified.domain.name@YOUR-REALM.COM.
keytab是包含principals和加密principal key的文件。
keytab文件对于每一个host是惟一的,由于key中包含hostname。keytab文件用于不需要人工交互和保存纯文本密码,实现到kerberos上验证一个主机上的principal。
由于服务器上能够访问keytab文件便可以以principal的身份经过kerberos的认证,因此,keytab文件应该被妥善保存,应该只有少数的用户能够访问。
1、建立远程管理的管理员
#kadmin.local
addprinc root/admin@EXAMPLE.COM
其中:EXAMPLE.COM为kerberos的域名
【注意】:密码不能为空,且需妥善保存
本例设置的密码为admin
2、kerberos日常操作
2.1、新增用户test
#kadmin.local
addprinc test
2.2、用户test登录
kinit test
klist -e
2.3、删除当前的认证的缓存
kdestroy -A
2.4、强制更新ticket
kinit -R
2.5、生成票据
kadmin.local -q "xst -k data/principals/keytab/test.keytab test@EXAMPLE.COM"
kadmin -q "xst -k /data/principals/keytab/test.keytab test@EXAMPLE.COM"
注意:生成keytab后,密码被修改了,无法再用之前输入密码登录了
如果想要密码不变,需要按照以下方式做,必须是kadmin.local
kadmin.local -q "xst -k data/principals/keytab/test.keytab -norandkey test@EXAMPLE.COM"
如上图,使用旧密码test,提示错误
2.6、查看keytab文件内容
klist -ket data/principals/keytab/test.keytab
2.7、使用票据登录
kinit -kt data/principals/keytab/test.keytab test
klist
2.8、合并keytab文件
ktutil
?
rkt /data/principals/keytab/test1.keytab
rkt /data/principals/keytab/test2.keytab
wkt /data/principals/keytab/test12.keytab
exit
#使用合并后的票据登录
kinit -kt data/principals/keytab/test12.keytab test1
klist
3、建立认证规则(Principals)和keytab
3.1、添加principals
为集群中每一个服务器节点添加三个principals,分别是hdfs、mapred和host。
#master上执行
kadmin
#建立hdfs principal
addprinc -randkey hdfs/master@EXAMPLE.COM
addprinc -randkey hdfs/node1@EXAMPLE.COM
addprinc -randkey hdfs/node2@EXAMPLE.COM
#建立mapred principal
addprinc -randkey mapred/master@EXAMPLE.COM
addprinc -randkey mapred/node1@EXAMPLE.COM
addprinc -randkey mapred/node2@EXAMPLE.COM
#建立host principal
addprinc -randkey host/master@EXAMPLE.COM
addprinc -randkey host/node1@EXAMPLE.COM
addprinc -randkey host/node2@EXAMPLE.COM
3.2、建立keytab文件
建立包含hdfs principal和host principal的hdfs keytab
kadmin
xst -norandkey -k /data/principals/keytab/hdfshost.keytab hdfs/master@EXAMPLE.COM host/master@EXAMPLE.COM
4、常用kerberos管理命令
kadmin.local
列出全部用户
listprincs
查看某个用户属性
getprinc test@EXAMPLE.COM
添加用户
addprinc
文章转载自闵栋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。