kerberos验证协议安装配置使用

一、kerberos是什么

Kerberos 是一个网络身份验证协议,用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式,允许用户在不安全的网络上进行身份验证,并获取访问网络资源的权限。

二、安装配置kerberos服务端

1、安装kerberos

#检查yum是否有对应的安装包
yum list | grep krb
#安装krb5
yum install -y krb5-libs krb5-server krb5-workstation

2、配置Kerberos

包括krb5.conf和kdc.conf,修改其中的realm,把默认的EXAMPLE.COM修改为自己要定义的值

下面的域不是真的域名,是krb5.conf realms 下面创建的域

①、配置krb5.conf(/etc/krb5.conf)

vim /etc/krb5.conf
#####krb5.conf###########
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = truerdns = falsepkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crtdefault_realm = ITCAST.CN
# default_ccache_name = KEYRING:persistent:%{uid}[realms]
# EXAMPLE.COM = {
#  kdc = kerberos.example.com
#  admin_server = kerberos.example.com
# }ITCAST.CN = {        #域名kdc = cdhs.itcast.cn        #对应的地址admin_server = cdhs.itcast.cn        #对应的地址}[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM.itcast.cn = ITCAST.CN            #域名转换itcast.cn = ITCAST.CN             #域名转换
#########################
logging : 日志相关的配置
libdefaults :默认的配置
realms 域:表示一个公司或者一个组织,逻辑上的授权认证范围 里面的TRAFKDC.CN是大小写敏感的必须大写
domain_realm : 域名转换 .trafkdc.com 相当于*.trafkdc.com

②、配置kdc.conf(/var/kerberos/krb5kdc/kdc.conf)

[kdcdefaults]kdc_ports = 88    #端口kdc_tcp_ports = 88    #端口[realms]ITCAST.CN = {        # 里面都是TRAFKDC.COM域的配置#master_key_type = aes256-ctsacl_file = /var/kerberos/krb5kdc/kadm5.acldict_file = /usr/share/dict/wordsadmin_keytab = /var/kerberos/krb5kdc/kadm5.keytabsupported_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}##########################
acl_file : kerberos acl的一些配置对应的文件
kerberos : admin账户的keytable本地路径
keytab : 登录凭证,有了这个相当于直接有了ticket,可以免密直接登录某个账户,所以这个文件很重要
supported_enctypes : 支持的加密方法

③、配置kadm5.acl

cat /var/kerberos/krb5kdc/kadm5.acl 
########kadm5.acl############
#给数据库管理员添加ACL权限,*代表全部权限
*/admin@ITCAST.CN       *           #ITCAST.CN是上面调用/etc/krb5.conf的配置
##################################
如:admin/admin@ITCAST.CN 就拥有ITCAST.CN域内的全部权限

3、kdc数据库

①、创建kdc数据库

#创建kdc数据库,并配置kdc数据库管理员密码,创建完成会在/var/kerberos/krb5kb/
#生成一系列文件,容重建数据库则需要先删除/var/kerberos/krb5kb下面的principal相关文件
/usr/sbin/kdb5_util create -s
#或者指定域来创建
kdb5_util create -s -r ITCAST.CN

②、添加用户

#注意kadmin.local可以直接再服务端上运行,而无需通过Kerberos认证,再客户端需要密码

#进入管理后台
kadmin.local
#在后台创建管理用户root 执行后需要输入密码
addprinc root/admin/@ITCAST.CN
#创建一个测试的用户
addprinc test/admin/@ITCAST.CN

4、启动kerberos进程并设置开机自启动

systemctl start krb5kdc
systemctl start kadmin
systemctl enable krb5kdc
systemctl enable kadmin

三、安装配置kerberos客户端

1、安装kerberos

#安装客户端
yum -y install krb5-libs krb5-workstation
#将服务端机器/etc/krb5.conf复制到各个客户端同样的位置
#测试登录test 进行客户端认证test账户
执行 kinit test/admin@ITCAST.CN 输入密码
正确的结果就是没有任何反应
然后输入klist此时客户端配置完成,使用kinit即可得到对应的账户的ticket客户端操作进入管理后台,是输入kadmin 然后输入kadmin的密码
输入kadmin_local无效,只有再服务端才有admin_local命令

四、简单操作

#服务端本机进入后台
kadmin.local#客户端认证 后面需要输入密码
klinit 用户名/admin@域名
klinit test/admin@ITCAST.CN
#验证客户端是否绑定用户成功
klist#客户端进入后台
kadmin 
#创建主题
addprinc 主题名
addprinc test
#查看所有主题
list_principals
#修改主题密码
cpw test
#删除主题
delprinc test

五、报错

下面问题是/etc/krb5.conf中的default_realm = TRAFDCK.COM未修改成自己的或者没有启用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/548835.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速解决msvcr80.dll丢失问题,教你5种方法轻松搞定

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcr80.dll丢失”。MSVCR80.dll文件的丢失可能会引发一系列系统运行与软件功能上的问题。作为一个重要的动态链接库文件,它在Windows操作系统中扮演着关键角色,尤其…

【C++】Stack queue 模拟实现及容器适配器

目录 一、stack 1、stack 基本介绍 2、stack 的使用 3、stack 模拟实现 二、queue 1、queue 基本介绍 2、queue 的使用 3、queue 模拟实现 三、容器适配器 1、什么是适配器 ​2、deque 的基本介绍 3、deque 的基本结构 4、deque 的缺陷 一、stack 1、stack 基本介…

计算机二级(Python)真题讲解每日一题:《十字叉》

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬ ‪‬‪‬‪‬‪‬‪‬‮‬‪…

数据可信流通:从运维信任到技术信任

1.数据可信流通概念 "数据可信流通"通常指的是确保数据在不同系统、应用程序或者组织之间的传输和交换过程中的可信性、完整性和安全性。在数据流通的过程中,确保数据的真实性、完整性和保密性是非常重要的,尤其是涉及到敏感信息或者重要数据…

本地知识库的底层逻辑是什么?为什么企业需要它?

如果我们将企业比作一座繁华的城市,那么信息就像是城市的建筑,知识库则是城市的地图。知识库不仅可以帮我们存储整理和搜寻信息,而且还可以为我们提供信息的结构以便我们能够更好地理解和利用这些信息。今天,我们要探讨的就是这个…

C++ 优先级队列(大小根堆)OJ

目录 1、 1046. 最后一块石头的重量 2、 703. 数据流中的第 K 大元素 为什么小根堆可以解决TopK问题? 3、 692. 前K个高频单词 4、 295. 数据流的中位数 1、 1046. 最后一块石头的重量 思路:根据示例发现可以用大根堆(降序)模拟这个过程。 class So…

一篇文章搞懂AJAX

目录 1.客户端与服务器 1.1 上网的目的 1.2 服务器 1.3 客户端 2.URL地址 2.1 URL地址的概念 2.2 URL地址的组成部分 3.客户端与服务器的通信过程 3.1 图解客户端与服务器的通信过程 3.2 基于浏览器 的开发者工具分析通信过程 4、服务器对外提供了哪些资源 4.1 例举…

GAMES101 学习 2

Lecture 7:Shading 1(lllumination,Shading and Graphics Pipeline) Visibility / occlusion 解决可见性和遮挡的问题 可见性,Z-buffering Z-Buffer 深度缓存 Idea: Store current min. z-value for each sample (pixel)Needs an additi…

Obsidian使用200+插件与70+种主题分享

主题资源 下载方式一: 网盘下载 密码:a3eu 下载方式二: 链接:https://pan.baidu.com/s/1fOgP8lY29sYxkUAbTlQQCw 提取码:qhxa 下载解压打开红色框文件夹 上面的是插件,下面的是主题 以下介绍安装主题 打开Obsidi…

一个可商用私有化部署的基于JAVA的chat-gpt网站

目录 介绍一、核心功能1、智能对话2、AI绘画3、知识库4、一键思维导图5、应用广场6、GPTS 二、后台管理功能1、网站自定义2、多账号登录支持3、商品及会员系统4、模型配置5、兑换码生成6、三方商户用户打通 结语 介绍 java语言的私有化部署的商用网站还是比较少的 这里给大家介…

DNF的概念和操作命令

yum是linux系统中基于rpm包管理的一种软件管理工具。 在dnf.conf文件中,我们可以配置某个网络服务器位软件源仓库。配置的方法,就是用vim编辑/etc/dnf/dnf.conf这个文件。

学Python,可以做哪些月入过万的兼职?

如果学了Python不做全职工作,那么可以靠哪些兼职赚到钱? 今天我们就来看看一位有着4年开发经验的老鸟的分析回答,希望对你有所帮助。 emmm… 以我差不多四年的 Python 使用经验来看,大概可以按以下这些路子来赚到钱,…