update cdh Kerberos
This commit is contained in:
@@ -27,7 +27,7 @@ yum install krb5-server krb5-libs krb5-auth-dialog krb5-workstation openldap-cli
|
|||||||
#### 修改/etc/krb5.conf配置
|
#### 修改/etc/krb5.conf配置
|
||||||
|
|
||||||
```bash\
|
```bash\
|
||||||
vi /etc/krb5.conf
|
vim /etc/krb5.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
- 配置文件内容
|
- 配置文件内容
|
||||||
@@ -48,18 +48,20 @@ renew_lifetime = 7d
|
|||||||
forwardable = true
|
forwardable = true
|
||||||
rdns = false
|
rdns = false
|
||||||
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
|
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
|
||||||
default_realm = A.COM
|
default_realm = YLDEV.NET
|
||||||
#default_ccache_name = KEYRING:persistent:%{uid}
|
#default_ccache_name = KEYRING:persistent:%{uid}
|
||||||
|
|
||||||
[realms]
|
[realms]
|
||||||
A.COM = {
|
YLDEV.NET = {
|
||||||
kdc = node-1
|
kdc = cdh-node-1
|
||||||
admin_server = noe-1
|
admin_server = cdh-node-1
|
||||||
|
default_domain = YLDEV.NET
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[domain_realm]
|
[domain_realm]
|
||||||
.a.com = A.COM
|
.example.com = YLDEV.NET
|
||||||
a.com = A.COM
|
example.com = YLDEV.NET
|
||||||
```
|
```
|
||||||
|
|
||||||
##### 配置参数
|
##### 配置参数
|
||||||
@@ -74,24 +76,26 @@ a.com = A.COM
|
|||||||
|
|
||||||
- 然后是[realms]部分,这一部分会列出所有的realm,kdc和admin_server两个配置是在告诉客户端哪台服务器在运行KDC以及kadmin进程。这两项配置可以在服务器上追加端口,如果不指定,则使用默认端口,KDC是88,admin server是749.
|
- 然后是[realms]部分,这一部分会列出所有的realm,kdc和admin_server两个配置是在告诉客户端哪台服务器在运行KDC以及kadmin进程。这两项配置可以在服务器上追加端口,如果不指定,则使用默认端口,KDC是88,admin server是749.
|
||||||
|
|
||||||
- 最后一部分[domain_realm]是配置DNS名称和Kerberos Realm映射的。 .http://a.com = A.COM是在说:所有在a.com域下的主机都会被映射到A.COM这个realm下,而a.com = A.COM是说a.com它自己也会映射到A.COM这个realm。
|
- 最后一部分[domain_realm]是配置DNS名称和Kerberos Realm映射的。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 修改/var/kerberos/krb5kdc/kadm5.acl配置
|
#### 修改/var/kerberos/krb5kdc/kadm5.acl配置
|
||||||
|
|
||||||
|
将 */admin@YLDEV.NET 后缀的设为管理员
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
vi /var/kerberos/krb5kdc/kadm5.acl
|
vim /var/kerberos/krb5kdc/kadm5.acl
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
*/admin@A.COM *
|
*/admin@YLDEV.NET *
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 修改/var/kerberos/krb5kdc/kdc.conf配置
|
#### 修改/var/kerberos/krb5kdc/kdc.conf配置
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
vi /var/kerberos/krb5kdc/kdc.conf
|
vim /var/kerberos/krb5kdc/kdc.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -99,36 +103,39 @@ vi /var/kerberos/krb5kdc/kdc.conf
|
|||||||
kdc_ports = 88
|
kdc_ports = 88
|
||||||
kdc_tcp_ports = 88
|
kdc_tcp_ports = 88
|
||||||
|
|
||||||
|
|
||||||
[realms]
|
[realms]
|
||||||
A.COM = {
|
YLDEV.NET = {
|
||||||
#master_key_type = aes256-cts
|
max_life = 24h # 单个票据的最大有效期
|
||||||
|
|
||||||
max_renewable_life= 7d 0h 0m 0s
|
max_renewable_life= 7d 0h 0m 0s
|
||||||
|
renewable = true
|
||||||
|
#master_key_type = aes256-cts
|
||||||
acl_file = /var/kerberos/krb5kdc/kadm5.acl
|
acl_file = /var/kerberos/krb5kdc/kadm5.acl
|
||||||
dict_file = /usr/share/dict/words
|
dict_file = /usr/share/dict/words
|
||||||
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
|
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
|
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
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 创建Kerberos数据库
|
#### 创建Kerberos数据库
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kdb5_util create –r http://A.COM -s
|
kdb5_util create -r YLDEV.NET -s
|
||||||
```
|
```
|
||||||
|
|
||||||
- 密码 hadoop
|
- 密码 hadoop
|
||||||
|
|
||||||
#### 创建Kerberos的管理账号
|
#### 创建Kerberos的管理账号
|
||||||
|
|
||||||
admin/admin@A.COM
|
admin/admin@YLDEV.NET
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kadmin.local
|
kadmin.local
|
||||||
addprinc admin/admin@A.COM
|
addprinc admin/admin@YLDEV.NET
|
||||||
```
|
```
|
||||||
|
|
||||||
- 密码/账号 admin/admin@A.COM
|
- 密码/账号 admin/admin@YLDEV.NET
|
||||||
|
|
||||||
#### 将Kerberos服务添加到自启动服务,并启动krb5kdc和kadmin服务
|
#### 将Kerberos服务添加到自启动服务,并启动krb5kdc和kadmin服务
|
||||||
|
|
||||||
@@ -142,7 +149,7 @@ systemctl start kadmin
|
|||||||
#### 测试Kerberos的管理员账号
|
#### 测试Kerberos的管理员账号
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kinit admin/admin@A.COM
|
kinit admin/admin@YLDEV.NET
|
||||||
```
|
```
|
||||||
|
|
||||||
### 为集群安装所有Kerberos客户端,包括Cloudera Manager
|
### 为集群安装所有Kerberos客户端,包括Cloudera Manager
|
||||||
@@ -163,7 +170,7 @@ scp /etc/krb5.conf root@node-3:/etc/
|
|||||||
|
|
||||||
### 在KDC中给Cloudera Manager添加管理员账号
|
### 在KDC中给Cloudera Manager添加管理员账号
|
||||||
|
|
||||||
cloudera-scm/admin@A.COM
|
cloudera-scm/admin@YLDEV.NET
|
||||||
|
|
||||||
执行命令
|
执行命令
|
||||||
|
|
||||||
@@ -177,8 +184,6 @@ list_principals
|
|||||||
|
|
||||||
### 进入Cloudera Manager的“管理”->“安全”界面
|
### 进入Cloudera Manager的“管理”->“安全”界面
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
|
|
||||||
# Kerberos 相关命令
|
# Kerberos 相关命令
|
||||||
|
|
||||||
@@ -187,10 +192,10 @@ list_principals
|
|||||||
- hdfs 账号生成秘钥
|
- hdfs 账号生成秘钥
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@A.COM -norandkey"
|
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@YLDEV.NET -norandkey"
|
||||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@A.COM"
|
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@YLDEV.NET"
|
||||||
#生成密钥文件之后,密码失效,不想密码失效,加 '-norandkey’参数
|
#生成密钥文件之后,密码失效,不想密码失效,加 '-norandkey’参数
|
||||||
ktadd -k /tmp/hdfs.keytab -norandkey hdfs@A.COM
|
ktadd -k /tmp/hdfs.keytab -norandkey hdfs@YLDEV.NET
|
||||||
# 或者执行上面的上面命令
|
# 或者执行上面的上面命令
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -204,8 +209,8 @@ kinit -R
|
|||||||
## 测试Keytable是否可用
|
## 测试Keytable是否可用
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kinit -k -t /root/admin.keytab admin/admin@A.COM
|
kinit -k -t /root/admin.keytab admin/admin@YLDEV.NET
|
||||||
kinit -k -t /tmp/admin.keytab admin/admin@A.COM
|
kinit -k -t /tmp/admin.keytab admin/admin@YLDEV.NET
|
||||||
```
|
```
|
||||||
|
|
||||||
## 修改用户的密码
|
## 修改用户的密码
|
||||||
@@ -219,7 +224,7 @@ kadmin.local -q "cpw -pw admin hdfs "
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 获取hdfs@A.COM账号的信息
|
# 获取hdfs@A.COM账号的信息
|
||||||
getprinc hdfs@A.COM
|
getprinc hdfs@YLDEV.NET
|
||||||
|
|
||||||
modprinc -maxlife 720days -maxrenewlife 1000days +allow_renewable krbtgt/A.COM
|
modprinc -maxlife 720days -maxrenewlife 1000days +allow_renewable krbtgt/A.COM
|
||||||
```
|
```
|
||||||
@@ -306,5 +311,5 @@ kinit -r 参数后面指定的时间
|
|||||||
|
|
||||||
## 获取特权keytab
|
## 获取特权keytab
|
||||||
|
|
||||||
创建 hdfs@A.COM
|
创建 hdfs@YLDEV.NET
|
||||||
获取密钥 然后认证 即可使用特权hdfs账号 操作 hdfs 文件系统
|
获取密钥 然后认证 即可使用特权hdfs账号 操作 hdfs 文件系统
|
||||||
|
Reference in New Issue
Block a user