linux环境之kerberos服务安装方式

 更新时间:2024年10月03日 11:33:33   作者:W_StackOverFlow_W  
本文记录了在Linux环境下搭建Kerberos服务的详细步骤,包括安装时间同步服务、配置Kerberos服务、编辑配置文件、创建realm、开启服务等,同时,介绍了如何创建和使用keytab文件,以及客户端的安装和使用,为需要开启Kafka Kerberos认证的用户提供了实用指南

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux实现限制远程登录尝试密码次数及锁定时间

    Linux实现限制远程登录尝试密码次数及锁定时间

    在CentOS中,pam_tally2.so模块可以用来限制用户登录失败的次数,并在达到设定的阈值时锁定用户账户,配置文件需正确修改,包括在/etc/pam.d/login和/etc/pam.d/sshd中增加相应配置,此设置可以有效防止未授权的登录尝试
    2024-10-10
  • Linux kde中11个你不知道的应用程序

    Linux kde中11个你不知道的应用程序

    今天小编就为大家分享一篇关于Linux kde中11个你不知道的应用程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 关于g++和gcc的相同点和区别详解

    关于g++和gcc的相同点和区别详解

    下面小编就为大家带来一篇关于g++和gcc的相同点和区别详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • linux Dig命令使用大全

    linux Dig命令使用大全

    这篇文章主要介绍了linux Dig命令使用大全,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Linux下安装tomcat并部署网站(推荐)

    Linux下安装tomcat并部署网站(推荐)

    这篇文章主要介绍了Linux下安装tomcat并部署网站,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • nacos在linux下启动startup.sh报错问题及解决

    nacos在linux下启动startup.sh报错问题及解决

    遇到Nacos启动错误提示“Permission denied”,可通过执行命令chmod u+x *.sh给予startup.sh执行权限,解决权限问题,启动成功,这是一种常见的解决Linux下脚本执行权限问题的方法
    2023-03-03
  • linux系统用户管理与grep正则表达式示例教程

    linux系统用户管理与grep正则表达式示例教程

    这篇文章主要给大家介绍了关于linux系统用户管理与grep正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux系统具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 在lnmp环境中的nginx编译安装

    在lnmp环境中的nginx编译安装

    本篇文章给大家分享了在lnmp环境中的nginx编译安装的相关步骤以及需要注意的地方,有兴趣的朋友参考学习下。
    2018-04-04
  • Linux下文件夹的移动与复制详解

    Linux下文件夹的移动与复制详解

    Linux是一种常见的操作系统,常用于服务器和开发环境。在Linux中,文件夹的移动与复制是常见的操作。本文将介绍如何在Linux中移动和复制文件夹,包括使用命令行和文件管理器两种方法。同时也讲解了如何保持文件夹的权限和元数据。
    2023-04-04
  • linux后台运行的几种方式(小结)

    linux后台运行的几种方式(小结)

    这篇文章主要介绍了linux后台运行的几种方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论