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.mzph.cn/news/753846.shtml

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

相关文章

微信小程序 nodejs+vue+uninapp学生在线选课作业管理系统

基于微信小程序的班级作业管理助手使用的是MySQL数据库,nodejs语言和IDEA以及微信开发者工具作为开发工具,这些技术和工具我在日常的作业中都经常的使用,并且因为对编程感兴趣,在闲暇时间也进行的进行编程的提高,所以在…

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

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

二、python基础

一、关键字(保留字) 指在python中赋予特定意义的一类单词,不能将关键字作为函数、变量、类、模块的名称 import keyword#利用内存模块keyword print(keyword.kwlist)#输出所有关键 print(len(keyword.kwlist))#利用内置函数len()输出关键字的…

Python笔记四之协程

本文首发于公众号:Hunter后端 原文链接:Python笔记四之协程 协程是一种运行在单线程下的并发编程模型,它的特点是能够在一个线程内实现多个任务的并发操作,通过在执行任务时主动让出执行权,让其他任务继续执行&#xf…

前端面试拼图-实践经验

摘要:最近,看了下慕课2周刷完n道面试题,记录并添加部分可参考的文档,如下... 1. H5页面如何进行首屏优化? 路由懒加载 适用于SPA(不适用MPA) 本质就是路由拆分,有限保证首页加载 服…

ThreadLocal-内存泄露问题

ThreadLocal概述 ThreadLocal是多线程中对于解决线程安全的一个操作类,它会为每个线程都分配一个独立的线程副本从而解决了变量并发访问冲突的问题。ThreadLocal 同时实现了线程内的资源共享案例:使用JDBC操作数据库时,会将每一个线程的Conn…

从0到1理解MySQL的事务和ACID特性

从0到1理解MySQL的事务和ACID特性 在开始之前,我们先来了解一下MySQL的事务是什么,以及ACID是什么。 事务是什么? 事务可以简单地理解为一组数据库操作的集合,它们一起被视为一个不可分割的工作单元。事务要么全部成功执行&…

SpringBoot ApplicationListener实现发布订阅模式

文章目录 前言一、Spring对JDK的扩展二、快速实现发布订阅模式 前言 发布订阅模式(Publish-Subscribe Pattern)通常又称观察者模式,它被广泛应用于事件驱动架构中。即一个事件的发布,该行为会通过同步或者异步的方式告知给订阅该事件的订阅者。JDK中提供…

springboot 查看和修改内置 tomcat 版本

解析Spring Boot父级依赖 去到项目的根pom文件中&#xff0c;找到parent依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>${springboot.version}…

Error response from daemon Get server gave HTTP response to HTTPS client

使用docker compose拉起docker镜像时&#xff0c;若出现如下报错 Error response from daemon: Get "https://devops.test.cn:5000/v2/": http: server gave HTTP response to HTTPS client表示Docker守护进程无法从指定url获取响应&#xff0c; 可能原因有以下&…

苍穹外卖-day09:用户端历史订单模块(理解业务逻辑),商家端订单管理模块(理解业务逻辑),校验收货地址是否超出配送范围(相关API)

用户端历史订单模块 1. 查询历史订单&#xff08;分页查询&#xff09; 1.1 需求分析和设计 产品原型&#xff1a; 业务规则 分页查询历史订单可以根据订单状态查询展示订单数据时&#xff0c;需要展示的数据包括&#xff1a;下单时间、订单状态、订单金额、订单明细&#…

C解析YAML

在C语言中解析YAML文件&#xff0c;你可以使用如libyaml等专门的YAML解析库。以下是使用libyaml库进行YAML解析的一个基本示例。libyaml是一个用来解析和生成YAML数据的C库。 首先&#xff0c;你需要确保已经正确安装了libyaml库。对于许多Linux发行版&#xff0c;你可以使用包…

软考76-上午题-【面向对象技术3-设计模式】-创建型设计模式01

一、创建型设计模式一览 二、创建型设计模式 2-1、创建型设计模式的概念 一个类创建型模式使用继承改变被实例化的类&#xff1b; 一个对象创建型模式将实例化委托给另一个对象。 对应java的new一个对象。 2-2、简单工厂模式&#xff08;静态工厂方法&#xff09; 简单工厂…

一文解读ISO26262安全标准:概念阶段

一文解读ISO26262安全标准&#xff1a;概念阶段 1 相关项定义2 安全生命周期启动3 危害分析和风险评估 HaRa4 功能安全概念 由上一篇文章知道&#xff0c;安全生命周期包含概念阶段、产品开发阶段、生产发布后续阶段。本文详细解读概念阶段要进行的安全活动。 本部分规定了车辆…

猫头虎分享已解决Bug || TypeError: Cannot interpret ‘float‘ value as integer.

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

利用自定义 URI Scheme 在 Android 应用中实现安全加密解密功能

在现代移动应用开发中&#xff0c;安全性和用户体验是至关重要的考虑因素。在 Android 平台上&#xff0c;开发人员可以利用自定义 URI Scheme 和 JavaScript 加密解密技术来实现更安全的数据传输和处理。本文将介绍如何在 Android 应用中注册自定义 URI Scheme&#xff0c;并结…

蓝桥杯C++大学B组一个月冲刺记录2024/3/18

蓝桥杯C大学B组一个月冲刺记录2024/3/18 规则:每日三题 昨天因为前妻姐emo上了,静下来思考了点东西,就没做题啦.今日补上! 另外:博客浏览量破万了,写的东西有人看还是很开心的 1.母亲的牛奶 农夫约翰有三个容量分别为 A,B,C升的挤奶桶。 最开始桶 A和桶 B都是空的&#xff0c;…

计算机组成原理——自己制作一个cpu

cpu包括单周期cpu、中断cpu、多周期cpu 代码实现之后在实验箱看效果&#xff0c;并且看波形图 单周期波形 中断cpu 多周期cpu 1.单周期CPU总体电路图 如图是一个简单的基本上能够在单周期CPU上完成所要求设计的指令功能的数据通路和必要的控制线路图。其中指令和数据各存储在不…

【2024-03-18】顺丰春招笔试两道编程题解

恭喜发现宝藏&#xff01;搜索公众号【TechGuide】回复公司名&#xff0c;解锁更多新鲜好文和互联网大厂的笔经面经。 作者TechGuide【全网同名】 订阅专栏&#xff1a; 【专享版】2024最新大厂笔试真题解析&#xff0c;错过必后悔的宝藏资源&#xff01; 第一题&#xff1a;转…

超越想象的数据可视化:五大工具引领新潮流

在数据分析领域&#xff0c;数据可视化工具是每位分析师的得力助手。它们能够将复杂的数据转化为直观、易懂的图表和图像&#xff0c;帮助分析师快速洞察数据背后的规律与趋势。下面&#xff0c;我将从数据分析师的角度&#xff0c;为大家介绍五个常用的数据可视化工具。 一、…