HDP 04.Ambari的LDAP配置
1、LDAP配置
mkdir -p /etc/ambari-server/keys
$JAVA_HOME/bin/keytool -import -trustcacerts -alias root \
-file /etc/ipa/ca.crt \
-keystore /etc/ambari-server/keys/ldaps-keystore.jks
bee#56915
2、备份 ambari 配置文件
cdate=$(date '+%Y%m%d'); cp /etc/ambari-server/conf/ambari.properties /etc/ambari-server/conf/ambari.properties.bak.${cdate};
ls -l /etc/ambari-server/conf/|grep 'ambari'|grep -v 'grep';
3、配置 ambari ldap
ambari-server setup-ldap
注意:配置 ambari ldap后,原来的普通帐号还能使用,等你后续添加了 LDAP
相关的管理员帐号后,可以将原来的普通帐号删除了。
4、重启 ambari-server
ambari-server restart
二、Ambari 2.7.4 LDAP组,用户,权限实战
1、在 ipa-v01 服务器执行如下命令,创建三个用户组:1). ambari_admin 是管
理员组;2). ambari_op 是操作员组;3). ambari_read 是“只读”帐号组
ipa group-add ambari_admin --desc ambari_admin
ipa group-add ambari_op --desc ambari_op
ipa group-add ambari_read --desc ambari_read
2、在ipa-v01 服务器执行如下命令,创建五个用户:tianlingqun,
zhangxiaohui, wujuntao, likaikai, daibo,并将他们的密码均设置为
"bee56915123";并添加成员 tianlingqun 到 ambari_admin组;添加成员
zhangxiaohui, wujuntao 到 ambari_op组;添加成员 likaikai, daibo,
zhanghan 到 ambari_read 组。
ipa user-add tianlingqun --first=lingqun --last=tian --shell=/bin/bash --homedir=/home/tianlingqun
ipa user-add zhangxiaohui --first=xiaohui --last=zhang --shell=/bin/bash --homedir=/home/zhangxiaohui
ipa user-add wujuntao --first=juntao --last=wu --shell=/bin/bash --homedir=/home/wujuntao
ipa user-add likaikai --first=kaikai --last=li --shell=/bin/bash --homedir=/home/likaikai
ipa user-add daibo --first=bo --last=lai --shell=/bin/bash --homedir=/home/daibo
ipa user-add zhanghan --first=han --last=zhang --shell=/bin/bash --homedir=/home/zhanghan
ipa group-add-member ambari_admin --users=tianlingqun
ipa group-add-member ambari_op --users=zhangxiaohui --users=wujuntao
ipa group-add-member ambari_read --users=likaikai --users=daibo
3、在 ambari 服务器上,安装 expect
yum -y install expect*
4、在 ambari 服务器上,创建一个 ambari_group.txt 文件 (里面是 要同步到 ambari
的 ipa 组名称)
cat ambari_group.txt
ambari_admin,ambari_op,ambari_read
5、编辑 ambari_sync_ldap.sh 文件,内容如下(我们可以将此脚本配置为定时任务,比
如:每5分钟执行一次,这样一旦受权新用户 ambari相关组的权限,最多延迟五分钟,即可
登陆使用 ambari控制台):
cat ambari_sync_ldap.sh
#!/usr/bin/expect
spawn /usr/sbin/ambari-server sync-ldap --groups=./ambari_group.txt --existing
expect "Enter Ambari Admin login:"
send "admin\r"
expect "Enter Ambari Admin password:"
send "admin\r"
expect eof
6、执行如下命令,给当前用户授权该文件执行权限:
chmod u+x ./ambari_sync_ldap.sh
7、运行同步测试:
./ambari_sync_ldap.sh
注意:如果导⼊入了了多余的⽤用户组信息,我们可以直接进 ambari 元数据
库(mysql数据库中)去删除,类似命令如下(这⾥里里我的 admin ⽤用户的
user_id=1, 你的数据 user_id 可能不不⼀一样哦,建议先查询核对):
use ambari;
delete from user_authentication where user_id<>1;
delete from members where user_id<>1;
delete from users where user_id<>1;
8、查看用户和组的同步情况