HBase + Kerberos 配置示例(1)
作者:网络转载 发布时间:[ 2015/7/17 11:24:17 ] 推荐标签:软件测试管理
3)#vim /var/kerberos/krb5kdc/kadm5.acl
这个文件是用来控制哪些人可以使用kadmin工具来管理kerberos数据库,我这里配了一行:
*/admin@MH.COM *
其中前一个*号是通配符,表示像名为“abc/admin”或“xxx/admin”的人都可以使用此工具(远程或本地)管理kerberos数据库,后一个*跟权限有关,*表示所有权限,还可以进行更细的控制,参见ACL。
4)#kdb5_util create -s
初始化一个kerberos数据库。
5)现在数据库是空的,想要使用kadmin添加一个人到数据库中,这是需要权限的,那么开始的那一个人是怎么加到数据库中的?这需要kadmin.local这个工具,这个工具只能在kerberos server上执行(类似于oracle中的sys用户无密码登录)。
#kadmin.local -q "addprinc admin/admin"
我这里把管理员叫“admin/admin”,你可以叫任何名字,但是因为此前我们在kadm5.acl中的配置,名字必须以/admin结尾。过程中会提示你输入两次密码,记住这个密码,当你在别的机器连接kadmin时,需要这个密码。
启动
#service krb5kdc start
#service kadmin start
#chkconfig krb5kdc on
#chkconfig kadmin on
验证
#kinit admin/admin
如果kinit不带参数,则会默认以当前操作系统用户名,比如root,作为名称。因为root在kerberos的数据库中并没有,所以会提示失败
#klist
正常应该显示:
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin/admin@MH.COM
Valid starting Expires Service principal
04/10/15 13:03:36 04/11/15 13:03:36 krbtgt/MH.COM@MH.COM
renew until 04/10/15 13:03:36
以下这两个应该不是必须的,与兼容性有关,ktadd命令会把“身份证”写入到文件(.keytab后缀),可以指定keytab文件,如不指定,默认写入/etc/krb5.keytab
kadmin.local: ktadd kadmin/admin
kadmin.local: ktadd kadmin/changepw
其它一些命令
#kdestroy,退出当前kerberos用户,即你后使用kinit过的那个用户
kadmin.local>listprincs 列出所有存在数据库中的人或服务
kadmin.local>delprinc zookeeper/kbhbase1.mh.com@MH.COM 删除人或服务
kadmin.local>addprinc admin/admin 添加人或服务
kadmin.local>q 退出kadmin
kadmin: addprinc -randkey root/kbhbase1.mh@MH.COM
kadmin: xst -k root.keytab root/kbhbase1.mh.com
# klist -kt root.keytab 列出这个keytab中保存的所有人或服务
一般在实例使用中通过kinit的方式较少,因为每次都要输入密码,所以更经常使用的是keytab文件,相当于为某个人或服务生成一个密码,并放在文件中,程序中则指向这个keytab,不用每次都输入密码。
kerberos client配置
现在,我们到kbhbase1这台机器上,即我们的kerberos 客户端上。kerberos对服务器跟客户端之间的时间有要求,所以一般需要安装ntp来作时间同步,我这里直接手工同步了一下,不再介绍ntp了。 #yum install krb5-libs krb5-workstation 注意与kerberos server上的yum命令对比。安装完成后把server上的krb5.conf文件拷贝过来覆盖一下即可。注意:
kb1和kbhbase1的/etc/hosts文件都要把各自以及对方添加上去
关闭这两个server上的防火墙
#service iptables stop
#chkconfig iptables off
与在server上类似,使用kinit和klist查看一下。也可以尝试执行kadmin,按提示使用admin/admin并输入密码(你之前创建管理员时输入的密码),正常应该能够连接上服务器,并对数据库进行操作(比如添加或删除人、服务)。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。

sales@spasvo.com