kerberos服务安装-linux环境
由于需要调试kafka开启kerberos认证相关的环境,特此记录一下关于kerberos环境搭建的步骤。
安装时间同步服务
yum install -y ntp systemctl enable ntpd systemctl start ntpd


安装krb5服务
yum install -y krb5-server krb5-config

安装完成后会在/var目录下产生kerberos目录:

编辑配置文件
编辑 /var/kerberos/krb5kdc/kdc.conf配置文件
vi /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[realms]
#example.com = {
test.com = {
#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 camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
max_renewable_life = 7d
}
将example.com修改为自己要是用的标识,我是用的是test.com,在配置项的末尾增加了一项配置:max_renewable_life = 7d
编辑/var/kerberos/krb5kdc/kadm5.acl 文件
vi /var/kerberos/krb5kdc/kadm5.acl
*/admin@test.com *
说明:此项编辑的意思是 任何包含“/admin”的principal 都拥有所有权限(admin)。
编辑文件/etc/krb5.conf
vi /etc/krb5.conf
配置完成参考:
# configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
[logging]
default = file:/var/log/krb5libs.log
kdc = file:/var/log/krb5kdc.log
admin_server = file:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
# renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = file:/etc/pki/tls/certs/ca-bundle.crt
# default_realm = example.com
default_realm = test.com
default_ccache_name = keyring:persistent:%{uid}
[realms]
test.com = {
kdc = hadoop.test.com
admin_server = hadoop.test.com
}
[domain_realm]
.test.com = test.com
test.com = test.com创建realm
kdb5_util create -r test.com -s

开启krb5kdc和kadmin服务,并设置开机启动
systemctl start krb5kdc.service systemctl start kadmin.service systemctl enable krb5kdc.service systemctl enable kadmin.service

以上kerberos服务安装基本完成,以下测试使用下
创建keytab文件
1、使用命令kadmin.local进入krb的命令界面
2、使用命令addprinc admin/admin创建admin用户
3、使用命令ktadd -k /home/kerberos_test/admin.keytab -norandkey admin/admin生成admin.keytab文件到/home/kerberos_test/目录下(目录自行指定)。
4、exit退出命令行界面

客户端安装及使用
安装krb5-workstation
yum install -y krb5-workstation

安装完成后可以通过klist命令查看keytab的内容了:
klist -kt /home/kerberos_test/admin.keytab

注:如果使用kinit 进行初始化,需要在/etc/hosts文件中增加相关的配置
#示例,需要参考/etc/krb5.conf中realms相关的配置: 192.168.4.133 hadoop.test.com test.com
加好之后就可以使用kinit命令了:

该操作主要解决以下问题:

其他可用命令参考(仅用作备份使用):
#删除用户 kadmin.local delete_principal kafka/test@test.com #带密码添加用户 kadmin.local addprinc -pw aaaaaa kafka/test@test.com #导出用户keytab文件 kadmin.local ktadd -k /etc/security/keytabs/zookeeper.keytab -norandkey zookeeper/test@test.com #初始化用户 kinit kafka/test@test.com #查看当前素有用户 kadmin.local listprincs #查看列表 klist #查看krb5kdc.log日志 tail -f /var/log/krb5kdc.log #查看kadmind.log日志 tail -f /var/log/kadmind.log
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论