Kerberos02:创建AD和安装客户端

这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战

前言

在Kerberso中,所有租户的账号密码都存储在Account Database(简称AD)中,这样当用户每次使用kinit认证的时候,KDC就会去AD中查询用户是否存在。

Account Database

新建Account Database

在服务器端使用下面命令创建AD。

1
css复制代码kdb5_util create -s -r [realm]
  1. 执行成功之后,在/var/kerberos/krb5kdc目录下生成一系列的服务端配置文件
  2. -s表示生成stash file,并在其中存储master server key,-r指定realm

添加Database Administrator

每个数据库需要添加一个管理员,AD也不例外。Database Administrator也是一个principal,不过是一个能够管理database的principal

使用以下命令来创建数据库管理员的principal:

1
lua复制代码kadmin.local-q"addprinc admin/admin"

设置AD的ACL(Access ControlList)权限

在kadm5.ac文件中l写入 /admin@HADOOP.COM

  1. kadmin daemon会使用该文件来管理对AD的访问权限
  2. 名称匹配*/admin@EXAMPLE.COM的principal,都认为是admin,权限是 *
  3. 这些admin可以操作其他的principal

启动deamon:

①. systemctl startkadmin.service
②. systemctl startkrb5kdc.service

安装客户端

安装软件

1
复制代码yum install -y krb5-workstation krb5-libs krb5-auth-dialog

配置文件

拷贝服务器的/etc/krb5.conf放到客户机上

AD操作

进入AD

  1. root用户,KDC服务器可以通过kadmin.local直接登录(aroot/admin@BDX.SD.CM)
  2. Client先使用kinit进行验证,Kinit admin/admin,再使用kadmin登录

kadmin命令

  1. addprinc test:添加principal
  2. delprinc test:描述principal
  3. listprincs:查看principal列表

在kadmin中生成keytab文件

通过执行下面命令来生成每个用户所需要的keytab文件。

1
bash复制代码xst-k/path/name.keytabprincipal

kinit

kinit -R:延长TGT的过期时间,如果不能,可能renewlife设置为0day了

  1. ticket过期后,如果想延长,一种方法是重新申请(需要输入密码),另一种是renew(不需要输入密码),每renew一次,就延长一个lifetime
  2. renew操作本身也有lifetime,即在ticket renew lifetime。在此lifetime之内,才能进行renew操作
  3. 如果max_renewable_life=0,那么在客户端 ticket_lifetime 结束时就会获取一个新的 ticket
  4. kinit -R xxx.keytab:在renewable_life内来续约

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%