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配置
|
||||
|
||||
```bash\
|
||||
vi /etc/krb5.conf
|
||||
vim /etc/krb5.conf
|
||||
```
|
||||
|
||||
- 配置文件内容
|
||||
@@ -48,18 +48,20 @@ renew_lifetime = 7d
|
||||
forwardable = true
|
||||
rdns = false
|
||||
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
|
||||
default_realm = A.COM
|
||||
default_realm = YLDEV.NET
|
||||
#default_ccache_name = KEYRING:persistent:%{uid}
|
||||
|
||||
[realms]
|
||||
A.COM = {
|
||||
kdc = node-1
|
||||
admin_server = noe-1
|
||||
YLDEV.NET = {
|
||||
kdc = cdh-node-1
|
||||
admin_server = cdh-node-1
|
||||
default_domain = YLDEV.NET
|
||||
}
|
||||
|
||||
|
||||
[domain_realm]
|
||||
.a.com = A.COM
|
||||
a.com = A.COM
|
||||
.example.com = YLDEV.NET
|
||||
example.com = YLDEV.NET
|
||||
```
|
||||
|
||||
##### 配置参数
|
||||
@@ -74,24 +76,26 @@ a.com = A.COM
|
||||
|
||||
- 然后是[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配置
|
||||
|
||||
将 */admin@YLDEV.NET 后缀的设为管理员
|
||||
|
||||
```bash
|
||||
vi /var/kerberos/krb5kdc/kadm5.acl
|
||||
vim /var/kerberos/krb5kdc/kadm5.acl
|
||||
```
|
||||
|
||||
```bash
|
||||
*/admin@A.COM *
|
||||
*/admin@YLDEV.NET *
|
||||
```
|
||||
|
||||
#### 修改/var/kerberos/krb5kdc/kdc.conf配置
|
||||
|
||||
```bash
|
||||
vi /var/kerberos/krb5kdc/kdc.conf
|
||||
vim /var/kerberos/krb5kdc/kdc.conf
|
||||
```
|
||||
|
||||
```bash
|
||||
@@ -99,36 +103,39 @@ vi /var/kerberos/krb5kdc/kdc.conf
|
||||
kdc_ports = 88
|
||||
kdc_tcp_ports = 88
|
||||
|
||||
|
||||
[realms]
|
||||
A.COM = {
|
||||
#master_key_type = aes256-cts
|
||||
YLDEV.NET = {
|
||||
max_life = 24h # 单个票据的最大有效期
|
||||
|
||||
max_renewable_life= 7d 0h 0m 0s
|
||||
renewable = true
|
||||
#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
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
#### 创建Kerberos数据库
|
||||
|
||||
```bash
|
||||
kdb5_util create –r http://A.COM -s
|
||||
kdb5_util create -r YLDEV.NET -s
|
||||
```
|
||||
|
||||
- 密码 hadoop
|
||||
|
||||
#### 创建Kerberos的管理账号
|
||||
|
||||
admin/admin@A.COM
|
||||
admin/admin@YLDEV.NET
|
||||
|
||||
```bash
|
||||
kadmin.local
|
||||
addprinc admin/admin@A.COM
|
||||
addprinc admin/admin@YLDEV.NET
|
||||
```
|
||||
|
||||
- 密码/账号 admin/admin@A.COM
|
||||
- 密码/账号 admin/admin@YLDEV.NET
|
||||
|
||||
#### 将Kerberos服务添加到自启动服务,并启动krb5kdc和kadmin服务
|
||||
|
||||
@@ -142,7 +149,7 @@ systemctl start kadmin
|
||||
#### 测试Kerberos的管理员账号
|
||||
|
||||
```bash
|
||||
kinit admin/admin@A.COM
|
||||
kinit admin/admin@YLDEV.NET
|
||||
```
|
||||
|
||||
### 为集群安装所有Kerberos客户端,包括Cloudera Manager
|
||||
@@ -163,7 +170,7 @@ scp /etc/krb5.conf root@node-3:/etc/
|
||||
|
||||
### 在KDC中给Cloudera Manager添加管理员账号
|
||||
|
||||
cloudera-scm/admin@A.COM
|
||||
cloudera-scm/admin@YLDEV.NET
|
||||
|
||||
执行命令
|
||||
|
||||
@@ -177,8 +184,6 @@ list_principals
|
||||
|
||||
### 进入Cloudera Manager的“管理”->“安全”界面
|
||||
|
||||
-
|
||||
|
||||
|
||||
# Kerberos 相关命令
|
||||
|
||||
@@ -187,10 +192,10 @@ list_principals
|
||||
- hdfs 账号生成秘钥
|
||||
|
||||
```bash
|
||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@A.COM -norandkey"
|
||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@A.COM"
|
||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@YLDEV.NET -norandkey"
|
||||
kadmin.local -q "xst -k /tmp/hdfs.keytab hdfs@YLDEV.NET"
|
||||
#生成密钥文件之后,密码失效,不想密码失效,加 '-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是否可用
|
||||
|
||||
```bash
|
||||
kinit -k -t /root/admin.keytab admin/admin@A.COM
|
||||
kinit -k -t /tmp/admin.keytab admin/admin@A.COM
|
||||
kinit -k -t /root/admin.keytab admin/admin@YLDEV.NET
|
||||
kinit -k -t /tmp/admin.keytab admin/admin@YLDEV.NET
|
||||
```
|
||||
|
||||
## 修改用户的密码
|
||||
@@ -219,7 +224,7 @@ kadmin.local -q "cpw -pw admin hdfs "
|
||||
|
||||
```bash
|
||||
# 获取hdfs@A.COM账号的信息
|
||||
getprinc hdfs@A.COM
|
||||
getprinc hdfs@YLDEV.NET
|
||||
|
||||
modprinc -maxlife 720days -maxrenewlife 1000days +allow_renewable krbtgt/A.COM
|
||||
```
|
||||
@@ -306,5 +311,5 @@ kinit -r 参数后面指定的时间
|
||||
|
||||
## 获取特权keytab
|
||||
|
||||
创建 hdfs@A.COM
|
||||
创建 hdfs@YLDEV.NET
|
||||
获取密钥 然后认证 即可使用特权hdfs账号 操作 hdfs 文件系统
|
||||
|
Reference in New Issue
Block a user