Kerberos安装

振鹭2年前技术文章1195

1、环境准备

(1)安装好jdk

(2)下载Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File。解压下载后的zip包,将得到的jar包放到所有服务器上的$JAVA_HOME/jre/lib/security/目录下。

image.png

2、安装kerberos相关服务
选择集群中的一台主机(hadoop01)作为Kerberos服务端,安装KDC,所有主机都需要部署Kerberos客户端。
服务端主机执行以下安装命令
yum install -y krb5-server
客户端主机执行以下安装命令(hadoop02,hadoop03)
yum install -y krb5-workstation krb5-libs
3、修改配置文件
(1)服务端主机(hadoop01)
修改/var/kerberos/krb5kdc/kdc.conf文件,内容如下
vim /var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
 kdc_ports = 88
 kdc_tcp_ports = 88
[realms]
 HDP.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
 }
(2)客户端主机(所有主机)
修改/etc/krb5.conf文件,内容如下
vim /etc/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]
 Default_realm = HADOOP.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 udp_preference_limit = 1 
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_realm = HADOOP.COM
 #default_ccache_name = KEYRING:persistent:%{uid}
[realms]
 HADOOP.COM = {
  kdc = jz001
  admin_server = jz001
 }
[domain_realm]
# .HADOOP.com = HADOOP.COM
# HADOOP.com = HADOOP.COM
3、修改管理员权限配置权限
在服务端主机(jz001)修改/var/kerberos/krb5kdc/kadm5.acl文件,内容如下
*/admin@HDP.COM     *

image.png

4、将修改好的文件发送到其它所有客户端主机

scp /etc/krb5.conf root@hadoop02:/etc/krb5.conf
scp /var/kerberos/krb5kdc/kdc.conf  root@hadoop02:/var/kerberos/krb5kdc/kdc.conf
scp /var/kerberos/krb5kdc/kadm5.acl root@hadoop02:/var/kerberos/krb5kdc/kadm5.acl
5、初始化kdc数据库

在服务端主机(jz001)执行以下命令,并根据提示输入密码。

kdb5_util create -s -r HADOOP.COM

注意事项:

-s选项指定将数据库的主节点密钥存储在文件中,从而可以在每次启动KDC时自动重新生成主节点密钥。记住主密钥,稍后会使用。
这里需要输入一个管理KDC数据库的密码!千万别忘记了,忘记的话就只能重新初始化KDC数据库啦!
如果遇到数据库已经存在的提示,可以把/var/kerberos/krb5kdc/目录下的principal的相关文件都删除掉。默认的数据库名字都是principal(rm -f /var/kerberos/krb5kdc/principal*)。可以使用-d指定数据库名字。
另外:
当我们创建Kerberos数据库成功后,默认会在该目录下创建以下5个文件。
[root@hadoop01 hadoop]# ll -a /var/kerberos/krb5kdc/
总用量 56
drwxr-xr-x. 2 root root   168 7月  21 15:34 .
drwxr-xr-x. 4 root root    33 7月   6 17:40 ..
-rw-------. 1 root root    75 7月   6 18:57 .k5.HADOOP.COM
-rw-------. 1 root root    72 7月   6 18:43 .k5.HDP.COM
-rw-------. 1 root root    22 7月   6 17:53 kadm5.acl
-rw-------. 1 root root   446 7月   6 17:41 kdc.conf
-rw-------. 1 root root 32768 7月  19 01:52 principal
-rw-------. 1 root root  8192 7月   6 18:57 principal.kadm5
-rw-------. 1 root root     0 7月   6 18:57 principal.kadm5.lock
-rw-------. 1 root root     0 7月  19 01:52 principal.ok
[root@hadoop01 hadoop]#
初始化KDC超级管理员
kadmin.local -q "addprinc admin/admin@HADOOP.COM"
根据提示设置KDC管理员密码,一定要记住
admin/admin:为管理员账户
HADOOP.COM:为手动配置的realm
密码:admin
6、启动kerberos相关服务
在主节点启动KDC,并配置开机自启
systemctl start krb5kdc
systemctl enable krb5kdc
在主节点启动Kadmin,该服务为KDC数据库访问入口
systemctl start kadmin
systemctl enable kadmin
7、创建kerberos管理员用户
kadmin.local -q "addprinc admin/admin"


相关文章

Linux运维工具

1.1 查看进程占用带宽情况 - NethogsNethogs 是一个终端下的网络流量监控工具可以直观的显示每个进程占用的带宽。1.2 硬盘读取性能测试 - IOZoneIOZone 是一款 Linu...

mysql高可用半同步配置(二)

一、配置半同步1.1、部署半同步:#首先判断MySQL服务器是否支持动态增加插件mysql> select @@have_dynamic_loading#确认支持动态增加插件后,检查MySQL的...

lvm介绍和常用命令

lvm介绍和常用命令

在分区的时候,每个分区应该分多大是令人头疼的,而且随着长时间的运行,分区不管你分多大,都会被数据给占满。当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分...

MySQL优化器特性(六)表扫描成本计算

全表扫描成本使用optimizer_trace,或者使用explain format=tree, 或者explain format=json,可以查看查询的costmysql> exp...

greenplum扩容

一、纵向扩展1、执行命令,生成参数文件[gpadmin@gw_mdw1 ~]$ gpexpand -f seg_hosts -D test 20190327:23:18:01:007122 gpex...

MySQL运维实战(5.5) 数据导入导出时的字符集问题

mysql可以使用load data/select into outfile或mysqldump工具进行数据导入导出。下面分别分析数据导入导出时的字符集相关问题。准备测试数据创建测试表,2个字段分别使...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。