环境准备
- 安装jdk
- 下载Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy File。解压下载后的zip包,将得到的jar包放到所有服务器上的$JAVA_HOME/jre/lib/security/目录下。
安装KDC MASTER
yum install krb5-server krb5-libs krb5-workstation openldap-clients
kdc服务器包含三个配置文件:
# 集群上所有节点都有这个文件而且内容同步
/etc/krb5.conf
# 主服务器上的kdc配置
/var/kerberos/krb5kdc/kdc.conf
# 能够不直接访问 KDC 控制台而从 Kerberos 数据库添加和删除主体,需要添加配置
/var/kerberos/krb5kdc/kadm5.acl
vi /etc/krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
# 日志输出设置
[logging]
default = FILE:/var/log/krb5/krb5libs.log
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
# 连接的默认配置
[libdefaults]
dns_lookup_realm = false
# 表明凭证生效的时限,一般为24小时
ticket_lifetime = 24h
# 表明凭证最长可以被延期的时限,一般为一个礼拜。
#当凭证过期之后,对安全认证的服务的后续访问则会失败
renew_lifetime = 7d
forwardable = true
rdns = false
# Kerberos应用程序的默认领域,所有的principal都将带有这个领域标志
default_realm = xxxxT.COM
# clockskew:时钟偏差是不完全符合主机系统时钟的票据时戳的容差,超过此容差将不接受此票据。
# 通常,将时钟扭斜设置为 300 秒(5 分钟)。这意味着从服务器的角度看,票证的时间戳与它的偏差可以是在前后 5 分钟内
# clockskew = 300
# credential缓存名,默认值为
default_ccache_name = KEYRING:persistent:%{uid}
# :禁止使用 udp 可以防止一个 Hadoop 中的错误
udp_preference_limit= 1
[realms]
xxxxT.COM = {
# 代表要 kdc 的位置。格式是 机器:端口
kdc = cn-bji-t-f205ab.novalocal:88
# 代表 admin 的位置。格式是 机器:端口
admin_server = cn-bji-t-f205ab.novalocal
}
# 域名到realm的关系 (可选)
[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
cd /var/kerberos/krb5kdc
vim /var/kerberos/krb5kdc/kdc.conf
# kdc相关配置,这里只设置了端口信息
[kdcdefaults]