kerberos中有连个角色,一个server和n个client。
server需要安装: yum install -y krb5-server krb5-workstation krb5-devel
client需要安装: yum install -y krb5-workstation krb5-devel
然后编辑kdc.conf和kadm5.acl文件。
kdc.conf文件:
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
CLOUDERA = {
#master_key_type = aes256-cts #配置主要的加密算法
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal #如果有些算法不支持,就干掉它。
}
kadm5.acl文件:
*/admin@CLOUDERA *
配置哪个reaml可以访问。 本例中配置为CLOUDERA
kdb5_util -r CLOUDERA create -s
然后配置客户端配置文件/etc/krb5.conf
[libdefaults]
default_realm = GAOXING
[realms]
GAOXING = {
kdc = cloudtest-1
admin_server = cloudtest-1
}
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmin.log
default = FILE:/var/log/krb5/krb5lib.log
每个clent一个。
启动服务
chkconfig krb5kdc on 开机启动
chkconfig kadmin on
service krb5kdc start
service kadmin start
在server中添加用户
kadmin.local
>addprinc -randkey cloudera-scm/admin
>xst -k cmf.keytab cloudera-scm/admin
这里要说明下。如果你使用 -randkey不需要给这个用户输入密码。你需要生成keytab文件,获取票据的时候使用该文件
kinit -k -t cmf.keytab hdfs@CLOUDERA 获取票据
klist看当前哪些用户使用票据
注意 username/admin@CLOUDERA 和username@CLOUDERA是管理用户注意