CDH 6.3.2 LDAP 认证
本文介绍 CDH 6.3.2 LDAP 认证
1.安装 LDAP
yum install -y openldap openldap-clients openldap-servers migrationtools
配置域和密码
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 d1f94ae2
dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=boomlee,dc=com
olcRootDN: cn=admin,dc=boomlee,dc=com
olcRootPW: @Boomlee1024
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: d233cc2a-737f-103d-992e-e142520e9e82
creatorsName: cn=config
createTimestamp: 20230420043027Z
entryCSN: 20230420043027.900079Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20230420043027Z
修改这三行
olcSuffix: dc=boomlee,dc=com
olcRootDN: cn=admin,dc=boomlee,dc=com
olcRootPW: @Boomlee1024
配置监视数据库配置文件
dn.base="cn=admin,dc=boomlee,dc=com"
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 a416bfb5
dn: olcDatabase={1}monitor
objectClass: olcDatabaseConfig
olcDatabase: {1}monitor
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=admin,dc=boomlee,dc=com" read by * none
structuralObjectClass: olcDatabaseConfig
entryUUID: d233c75c-737f-103d-992d-e142520e9e82
creatorsName: cn=config
createTimestamp: 20230420043027Z
entryCSN: 20230420043027.899956Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20230420043027Z
准备LDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap.ldap /var/lib/ldap
验证
slaptest -u
出现 config file testing succesded 则为成功
启动
systemctl start slapd
systemctl status slapd
systemctl enable slapd
查看服务
netstat -lt | grep ldap
netstat -tunlp | egrep "389|636"
启动LDAP服务器配置,添加模式
cd /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif
迁移工具创建LADP DIT(目录信息树)
vim /usr/share/migrationtools/migrate_common.ph
修改
61 行
SNAMINGCONTEXT{ ' group' } = "ou=Groups";
71 行
DEFAULT_MAIL_DOMAIN = "boomlee.com"
74 行
DEFAULT BASE ="dc=boomlee, dc=com" ;
90 行
SEXTENDED SCHEMA = 1:
生成base.ldif文件为域DIT并导入
/usr/share/migrationtools/migrate_base.pl > ./base.ldif
ldapadd -x -w '@Boomlee1024' -D "cn=admin,dc=boomlee,dc=com" -f ./base.ldif
2.LDAP 添加用户
2.1在 LDAP 服务器添加 Linux 用户
groupadd 'hive'
useradd -r -m 'hive'
usermod -aG hive hive
echo '@Boomlee1024' | passwd --stdin 'hive'
2.2 读取添加的用户信息
grep -E "hive" /etc/passwd > ./passwd.txt
/usr/share/migrationtools/migrate_passwd.pl passwd.txt ./passwd.ldif
2.3 读取添加的用户组信息
grep -E "hive" /etc/group > ./group.txt
/usr/share/migrationtools/migrate_group.pl group.txt group.ldif
2.4 把用户和用户组信息导入 LDAP
ldapadd -x -D "cn=admin,dc=boomlee,dc=com" -w '@Dev1111' -f ./passwd.ldif
ldapadd -x -D "cn=admin,dc=boomlee,dc=com" -w '@Dev1111' -f ./group.ldif
3.安装 phpldapadmin
yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
yum -y install phpldapadmin
修改配置
vim /etc/phpldapadmin/config.php
修改配置
vim /etc/httpd/conf.d/phpldapadmin.conf
重启 http
systemctl restart httpd
登录
http://IP/phpldapadmin/cmd.php
cn=admin,dc=boomlee,dc=com
@Boomlee1024
4.Hive 中集成 LDAP 服务
开启 LDAP
在 Hive 配置中,搜索 ldap
启用 LDAP 身份验证 勾选
LDAP URL ldap://10.0.5.56:389
LDAP BaseDN ou=People,dc=boomlee,dc=com
修改 core-site.xml
在 Hive 配置中,搜索 core-site.xml
core-site.xml 的 Hive 服务高级配置代码段(安全阀)
hadoop.proxyuser.hue.hosts *
hadoop.proxyuser.hue.groups *
重启 Hive
5.Hue 集成 LDAP 服务
Hue 中搜索 LDAP ,逐项填写
身份验证后端
desktop.auth.backend.LdapBackend
LDAP URL
ldap://10.0.5.56:389
启用 LDAP TLS
勾选
LDAP 用户名模式
uid=<username>,ou=People,dc=boomlee,dc=com
登录时创建 LDAP 用户
勾选
LDAP 搜索基础
dc=boomlee,dc=com
LDAP 绑定用户可分辨名称
cn=admin,dc=boomlee,dc=com
LDAP 绑定密码
@Boomlee1024
LDAP 用户筛选
(objectClass=posixAccount)
LDAP 用户名属性
uid
LDAP 组筛选
(objectClass=posixGroup)
LDAP 组名称属性
cn
LDAP 组成员身份属性
memberUid
hue_safety_valve.ini 的 Hue 服务高级配置代码段(安全阀)
[beeswax]
server_host=cdh01
server_port=10000
max_number_of_sessions=10
close_queries=True
use_sasl=False
auth_username=hive
auth_password=@Boomlee1024
[impala]
server_host=cdh01
server_port=21050
server_interface=hiveserver2
query_timeout_s=100
impersonation_enabled=True
auth_username=hive
auth_password=@Boomlee1024
server_conn_timeout=60
[desktop]
[[ldap]]
sync_groups_on_login=true