一、环境准备
服务器、安装JDK8、安装了OpenLDAP、kerberos、Ranger的客户端
二、工具准备
安装vim工具:apt-get update -y && apt-get install -y vim
三、二种不同实现用户同步的方式
实现用户方式一:在OpenLDAP中通过创建ldif文件实现用户同步
新建文件及数据test.ldif
vim test.ldif
dn: krbPrincipalName=test@CYBEROPS.DATAC.COM,cn=CYBEROPS.DATAC.COM,cn=kerberos
,dc=datac,dc=com
krbLoginFailedCount: 0
krbPrincipalName: test@CYBEROPS.DATAC.COM
krbPrincipalKey:: MIIBkqADAgEBoQMCAQGiAwIBAaMDAgEBpIIBejCCAXYwRKAHMAWgAwIBAKE5
MDegAwIBEaEwBC4QADDwBeuV42XUcM7rYb5HXj6pLFSQVWuHHuQwZkgBNssStNEKTaWLR1b71KSpM
ESgBzAFoAMCAQChOTA3oAMCARehMAQuEAB9G42BtqYIdZnh9LZ5/RGcjOvKNEIWLj4LSBanqM0EuB
ObXruB5/3LrfjNDjBUoAcwBaADAgEAoUkwR6ADAgEaoUAEPiAADgqlx9kQ1XxqrOI64WQ+MPg6nW7
sA7HqKBGOJf+vMFmeHQRq8WhMeMXGSMWlxzmrvlGU6tJIxC56NJg7MESgBzAFoAMCAQChOTA3oAMC
ARmhMAQuEAA7QNjXfhzks4k2TVFAtPfve/krsyGUpqO5ejcBYQQE+psrTsgSFZObF3pS8TBMoAcwB
aADAgEAoUEwP6ADAgEQoTgENhgAWfnJn9NDBD20Dso7vAgBJ0DcGlIwF5MBwzv8UyAtrXvsdUxgv5
FTYz6N01sxOrWKqvpyHA==
krbLastPwdChange: 20221020055012Z
krbExtraData:: AAKU4VBjcm9vdC9hZG1pbkBDWUJFUk9QUy5EQVRBQy5DT00A
krbExtraData:: AAgBAA==
objectClass: krbPrincipalAux
objectClass: krbTicketPolicyAux
objectClass: person
cn: test
sn: test01
userPassword: 123456
description: 测试用户是否同步
![](https://i-blog.csdnimg.cn/blog_migrate/b89129fb9449333e301600c396538dc4.png)
创建用户及密码设置后,将数据拷贝到ldap组件的opt下面: kubectl cp test.ldif cyberops-s97d/pod-slapd-4449-15031:/opt/
向Ldap中添加用户数据
./ldapadd -x -D cn=admin,dc=datac,dc=com -W -f /opt/test.ldif
![](https://i-blog.csdnimg.cn/blog_migrate/e66705bb693ca03fc3be64db3b366198.png)
进入kerberos组件pod下查看用户
cd /opt/kerberos/sbin/
./kadmin.local
查看添加用户
list_principals
![](https://i-blog.csdnimg.cn/blog_migrate/4e0b695ed2ea11278594364a4bd66ddc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bf9d45a2f217c1c1fd4e672664ddb8c5.png)
在代码中设置的Ldap的用户同步到Ranger是每小时同步一次。若在此期间发现用户还未触发同步机制,可手动触发,通过重启ranger服务,进入ranger的Pod内执行命令: ranger-usersync restart
![](https://i-blog.csdnimg.cn/blog_migrate/5cbf89210e90f97f71476f18f821f9ee.png)
重启成功后,刷新RangerWeb页面,发现用户已同步成功
![](https://i-blog.csdnimg.cn/blog_migrate/8c2948487213b6b8297dfd57f3a006a8.png)
随后在OpenLDAP的web页面查看用户已经同步成功
![](https://i-blog.csdnimg.cn/blog_migrate/2872e0d97fb85f5a6a6db5ff63734be9.png)
实现用户方式二:在Kerberos中创建用户,在Ranger中创建用户,实现用户同步【注:Kerberos创建的用户名需和Ranger中创建的用户名一一对应,否则会出现无法同步的问题】
进入Kerberos组件pod中通过命令创建用户
addprinc zuser01/test
设置密码:123456
![](https://i-blog.csdnimg.cn/blog_migrate/8b233a5511950a8a1d63d60e7a0f5f54.png)
安装krb5
yum install krb5-workstation
![](https://i-blog.csdnimg.cn/blog_migrate/48157258e0a133ad69d45104f4546e5b.png)
生成keytab文件
./kadmin.local -q "xst -norandkey -k /root/ztest.keytab zuser01/test@CYBEROPS.DATAC.COM"
keytab文件用于后续分享的大数据组件测试中,会有所体现
![](https://i-blog.csdnimg.cn/blog_migrate/addb993bae8b3740700acd3f2087d836.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6cdde03c8043f98fb7425484f89028ec.png)
在openLDAP中查看用户已经添加成功
![](https://i-blog.csdnimg.cn/blog_migrate/ca1eb5a1c4ab81b44228d3c67b96b242.png)
实现用户同步的二种方式,就是这样咯~,后续还将分享其他大数据组件测试相关命令内容,感兴趣的小伙伴,欢迎留言,共成长,同进步~~