kinit什么意思_kerberos入坑指南

本文介绍了Kerberos的身份认证原理,包括principal、realm和credential等核心概念。通过搭建KDC服务器,详细阐述了在Ubuntu 16.04上配置Kerberos的步骤,包括安装软件、配置文件设置、创建数据库和principal。最后讨论了将Kerberos认证集成到项目中时,如何使用GSSAPI和SASL接口。
摘要由CSDN通过智能技术生成

原理介绍

kerberos主要是用来做网络通信时候的身份认证,最主要的特点就是“复杂”。所以在入坑kerberos之前,最好先熟悉一下其原理。这里推荐一些别人写的文章内容来进行简单汇总:

几个概念的补充

principal

认证的主体,简单来说就是"用户名"

realm

realm有点像编程语言中的namespace。在编程语言中,变量名只有在某个"namespace"里才有意义。同样的,一个principal只有在某个realm下才有意义。

所以realm可以看成是principal的一个"容器"或者"空间"。相对应的,principal的命名规则是"what_name_you_like@realm"。

在kerberos, 大家都约定成俗用大写来命名realm, 比如"EXAMPLE.COM"

password

某个用户的密码,对应于kerberos中的master_key。password可以存在一个keytab文件中。所以kerberos中需要使用密码的场景都可以用一个keytab作为输入。

credential

credential是“证明某个人确定是他自己/某一种行为的确可以发生”的凭据。在不同的使用场景下, credential的具体含义也略有不同:

对于某个principal个体而言,他的credential就是他的password。

在kerberos认证的环节中,credential就意味着各种各样的ticket。

搭建一个KDC的环境

想要理解Kerberos,最好的方式是自己搭建一个KDC server。同时,这对于开发过程中进行测试也是非常有帮助的。

这里用ubuntu 16.04为例,简单搭一个kdc server

安装下载

apt-get install krb5-admin-server krb5-kdc krb5-user krb5-config

其中,这几个软件包的作用分别是:

krb5-admin-server: kdc管理员程序,可以让使用者远程管理kdc数据库。

krb5-kdc:kdc主程序

krb5-user: kerberos的一些客户端命令,用来获取、查看、销毁ticket等等。

配置

/etc/krb5.conf

[logging]

default = FILE:/var/log/krb5libs.log

kdc = FILE:/var/log/krb5kdc.log

admin_server = FILE:/var/log/kadmind.log

[libdefaults]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值