1、安装最新版的KDC server
yum install krb5-server krb5-libs krb5-workstation
2、编辑配置文件
vi /etc/krb5.conf
[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = DATAPLAT.COM.CN
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log
[realms]
BIGDATA.ORG.CN = {
admin_server = 10.123.12.7
kdc = 10.123.12.7
}
[domain_realm]
.bigdata.org.cn = DATAPLAT.COM.CN
bigdata.org.cn = DATAPLAT.COM.CN
注:修改[realms]与添加[domain_realm] ,[libdefaults]对应的default_realm的值
3、使用 kdb5_util 创建Kerberos数据库(*注:会提醒你输入密码,要记好密码)
kdb5_util create -s
Enter KDC database master key:xxxxxx
4、启动KDC服务
/etc/rc.d/init.d/krb5kdc start
/etc/rc.d/init.d/kadmin start
5、设置KDC服务开机启动
chkconfig krb5kdc on
chkconfig kadmin on
6、创建Kerberos管理员(根据提示输入密码)
kadmin.local -q "addprinc root/root"
Enter password for principal "root/root@DATAPLAT.COM.CN":xxxxxxxxxx
7、查看KDC ACL权限文件并确保kadm5.acl文件中,有你刚才定义的[realm]信息,无则补上
vi /var/kerberos/krb5kdc/kadm5.acl
*/root@EXAMPLE.COM *
*/root@DATAPLAT.COM.CN *
注:其中 /[email protected] 即为需要添加的信息
8、重启kadmin进程
/etc/rc.d/init.d/kadmin restart
确认你已经安装了KDC并启动了KDC服务,确认你已经安装了JCE;
登录到Ambari,在菜单栏中 Admin > Kerberos;
点击 “Enable Kerberos”进入向导安装模式;
选择你之前配置的KDC版本信息(我们之前配置的是MIT KDC);
勾选选框确认已经完成了Kerberos安装前的准备事项;
填写KDC相关配置信息(这里假设你已经按照我们之前的步骤安装了KDC)
下列选项中Domains最好是填上:.data.com.cn
一路Next 便可.
注:kerberos开启后建议不要随意进行重启,由于kerberos在重启过程中需要将很多配置文件进行移除相关的操作。在这个过程有可能会出现移除文件不完整的情况。因而导致整个系统访问出现问题。
在使用kerberos进行HDP集群安全认证的时候,我们需要对能够接入集群的用户进行管理,这个时候会需要使用到一些常用的命令。本小节将集中讲解如何管理kerberos的票据,包括生成、分发、删除等操作。
1、登录 kerberos
/usr/sbin/kadmin.local
2、查看用户
kadmin.local : listprincs
3、添加用户
kadmin.local : addprinc project2/hdp39@BMSOFT.COM
4、删除用户
kadmin.local : delprinc project2/hdp39@BMSOFT.COM
5、创建keytable文件 生成 project2/hdp39 用户的 keytab 文件到 /opt/keystore/ 目录(目录由自己随意指定)
kadmin.local :ktadd -k /opt/keystore/project2.keytab project2/hdp39
6、获得或更新 Kerberos 票据授权票据
kinit -k -t /opt/keystore/project2.keytab project2/hdp39@BMSOFT.COM
如下为重启出现的问题:
当成功开户Kerberos后,通过Ambari将Kerberos 停用,停用之后便出现如下问题,hdfs没有访问权限,异常如下所示:
Unauthorized connection for super-user: root from IP 10.123.12.7
原因:其将HDFS的访问权限设置为只允许hdp04该主机访问了,将其访问权限修改为允许所有主机访问则可(即改为 *)
如下图所示:
注:如果在使用kerberos的过程中,出现了实现解决不了的问题,可以试下重新安装KDC 。
参考官方文档:
https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_security/content/_installing_and_configuring_the_kdc.html