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.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_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-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
 }

##########################
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未修改成自己的或者没有启用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

行尾检测论文汇总

文章目录 2023GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 2023 GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 摘要: 果园中基于GPS的导航…

Vue3学习日记 Day1

一、简介 1、简介 Vue3是新的默认版本,拥有更快的速度,更好的语法 二、使用create-vue搭建Vue3项目 1、创建项目 1、介绍 create-vue是Vue官方新的脚手架工具,底层切换为了vite,为开发提供极速响应 2、使用 2.1、确定环境条件 2…

共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”

3月9日,2024数字中国企业峰会在杭州西湖中维香溢大酒店成功举办,众多数字化领域专家、知名企业 CIO 代表到场。峰会旨在推动数字化转型与创新发展,为企业出海和国际合作搭建交流与合作的平台。本次峰会的颁奖环节,纷享销客凭借其卓…

阿里云服务器centos安装msf教程

msf官方命令行一键安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall 稍微等待几分钟即可安装成功&am…

Django生命周期

Django请求的生命周期是指:当用户在浏览器上输入url到用户看到网页的这个时间段内,Django后台所发生的事情。 一、生命周期流程图 首先,用户在浏览器中输入url,发送一个GET/POST方法的request请求。Django中封装了socket的WSGi服务器,监听端口接受这个request 请求再进行初…

使用 ONLYOFFICE API 构建 Java 转换器,在 Word 和 PDF 之间进行转换

文章作者:ajun 随着文档处理需求的增加,格式转换成为了一个重要的需求点。由于PDF格式具有跨平台、不易被篡改的特性,将Word格式(.docx)转换为PDF格式(.pdf)的需求尤为强烈。ONLYOFFICE作为一个强大的办公套件,提供了这样的转换功…

主键约束

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 主键约束可以看成是非空约束再加上唯一约束 也就是说设置为主键列,不能为空,不能重复 像一般用户编号是不可能重复的,也不可能为空的 …

07|链(下):想学“育花”还是“插花”用RouterChain确定客户意图

任务设定 鲜花养护(保持花的健康、如何浇水、施肥等)鲜花装饰(如何搭配花、如何装饰场地等) 如果接到的是第一类问题,你要给ChatBot A指示;如果接到第二类的问题,你要给ChatBot B指示。 整体…

U盘变身“本地磁盘”?数据恢复与防范策略大揭秘

一、突发状况:U盘秒变“本地磁盘” 在日常工作生活中,U盘凭借其便携性和大容量,成为我们存储和传输数据的重要工具。然而,有时我们会遇到这样一个棘手的问题:原本应显示为可移动磁盘的U盘,在插入电脑后却突…

Linux之shell变量

华子目录 什么是变量?变量的名称示例 变量的类型变量的定义示例 自定义变量查看变量(自定义变量和全局变量) 环境变量定义环境变量(全局变量)法一法二法三env,printenv,export注意 C语言与shell…

苹果谷歌,要联手反攻了

一则消息,让苹果、谷歌的夜盘股价一度分别暴拉1.5、3.5%,谷歌盘前甚至飙升超过5.5%,引发市场一阵轰动。 据知情人士透露,苹果公司正在谈判将谷歌的Gemini人工智能引擎植入iPhone,希望获得Gemini的授权,为今…

蓝桥杯练习题——贡献法(隔板法)

1.孤独的照片 思路 孤独的区间一定有一头孤独的牛&#xff0c;考虑每头牛对区间的贡献是多少 #include<iostream> using namespace std; const int N 5e5 10; int n; string s;int main(){cin>>n>>s;long long res 0;for(int i 0; i < n; i){int l…

吴恩达深度学习环境本地化构建wsl+docker+tensorflow+cuda

Tensorflow2 on wsl using cuda 动机环境选择安装步骤1. WSL安装2. docker安装2.1 配置Docker Desktop2.2 WSL上的docker使用2.3 Docker Destop的登陆2.4 测试一下 3. 在WSL上安装CUDA3.1 Software list needed3.2 [CUDA Support for WSL 2](https://docs.nvidia.com/cuda/wsl-…

聊聊AI时代学习这件事本身应该发生什么样的变化

随着 AI 大模型 的爆发&#xff0c;我们身处这个时代&#xff0c;应该怎么样去学习去了解这些前言的技术&#xff1f;可能很多人会说我英文不好&#xff0c;我算法不行&#xff0c;无法深入去了解 AI 大模型相关的知识吧&#xff1f; 没关系&#xff0c;其实博主也跟大家一样&…

代码随想录算法训练营第二十五天|216.组合总和III,17.电话号码的字母组合

216.组合总和III 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数&#xff0c;并且每种组合中不存在重复的数字。 说明&#xff1a; 所有数字都是正整数。 解集不能包含重复的组合。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 示例 2: 输入…

品牌如何加强社交属性?媒介盒子支招

人类天然具备社交属性&#xff0c;基于这种社交属性&#xff0c;会形成人与人之间的连接性&#xff0c;而社交网络的出现加剧了社交属性的爆发。社交增长营销&#xff0c;就是以大众用户天然的社交属性为核心&#xff0c;让品牌更具话题&#xff0c;实现可持续增长。那么品牌如…

SpringCloud详解,图文码笔记

注意&#xff1a; SpringCloud并 不等于 微服务 1.微服务技术线 2.认识微服务 分布式架构 分布式架构: 根据业务功能对系统进行拆分&#xff0c;每个业务模块作为独立项目开发&#xff0c;称为一个服务。 优点&#xff1a; 降低服务耦合有利于服务升级拓展 服务治理 分布式…

java方法的引用传递和值传递

1、方法的值参数传递 下面代码&#xff0c;它会在控制台输出什么&#xff1f; public class ArrayTest {public static void main(String[] args) {int number 100;System.out.println(number);change(number);System.out.println(number);}public static void change(int n…

C#开发中方法使用的问题注意

C#开发中&#xff0c;我们在进行方法内嵌时&#xff0c;需要注意方法回传带值时&#xff0c;我们需要对方法回传的值进行一个赋值传递 如下所示 console.WriteLine("请输入你的爱好&#xff1a;"); string aihao Console.ReadLine(); name ChangeData(name);同时在…

element el-cascader获取完整数据

<el-table-column prop"createTime" label"编辑店铺分类"><template slot-scope"scope"><el-cascaderref"cascader"v-model"scope.row.shoptypeone":options"commoditylist"placeholder"请选…