ldap安装配置

第一步 yum安装ldap

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

第二步 查看是否安装成功

slapd -VV

第三步 设置管理员密码

输入如下命令设置密码,注意需要输入两次, 将加密后的SSHA保存,下面配置文件中会用到

[root@localhost ~]# slappasswd
成功后会输入如下信息:

[root@localhost openldap]# slappasswd
New password:
Re-enter new password:
{SSHA}D7hX37v1NxCcBWeC26C8nO3VvF0GlohX

第四步 修改配置文件

1、输入一下命令使用vim 修改配置文件, 需要修改三个地方

vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif

修改信息不多,请局部复制,不要全局复制如下输出信息。只需要修改cn dc dc的信息,另外添加一行密码配置,其他保持不变。

修改信息如下:
AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
CRC32 073e2f66
dn: olcDatabase={2}hdb
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=test,dc=com #这里修改了,主要是修改dc dc的信息
olcRootDN: cn=root,dc=test,dc=com #这里修改了,主要就是修改cn dc dc的信息
olcRootPW: {SSHA}RE7si/p5dzFbzWjVR8MB1H5XOxUDvBKP #新加一行,密码为上面生成的密码字符串,注意空格
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcHdbConfig
entryUUID: 0f68f392-fe05-103a-8f4d-053fce3f128a
creatorsName: cn=config
createTimestamp: 20210208025701Z
entryCSN: 20210208025701.104594Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20210208025701Z

注意:注释内容不要加进去,行尾不要加空格及其他内容,这个问题导致我密码错误,困扰我一天,汗

2、修改第二个配置文件

vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif

只需要修改cn dc dc的信息,其他保持不变。

修改信息如下:
AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
CRC32 008df9d0
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=root,dc=test,dc=com” read by * none #修改cn dc dc的信息
structuralObjectClass: olcDatabaseConfig
entryUUID: 0f68eafa-fe05-103a-8f4c-053fce3f128a
creatorsName: cn=config
createTimestamp: 20210208025701Z
entryCSN: 20210208025701.104375Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20210208025701Z

第五步 测试一下配置文件修改是否正确

命令行输入如下命令:

slaptest -u

成功会输入如下命令:

60222a02 ldif_read_file: checksum error on “/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif”
60222a02 ldif_read_file: checksum error on “/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif”
config file testing succeeded
前面两行error不用管,它的意思是我们修改了这两个文件,这一步检查失败请检查配置文件。

第六步 启动Ladp服务

systemctl start slapd
systemctl enable slapd

查看是否启动成功

netstat -tunlp | egrep “389|636”

输出如下:

[root@localhost openldap]# netstat -tunlp | egrep “389|636”
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 26161/slapd
tcp6 0 0 :::389 ::😗 LISTEN 26161/slapd

如果起不来百度无法解决的话,就参考第三章卸载篇,程序安装LDAP吧。
第六步 配置OpenLDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/

第七步 导入基本Schema

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

第八步 查看LDAP数据库信息

输入如下命令

ldapsearch -LLL -W -x -D “cn=root,dc=test,dc=com”

该命令要输入我们在第三步设置的管理员密码。“cn=root,dc=test,dc=com” 相当于我们的账号。也可以输出以下指定密码命令,该命令可以不输入密码。

ldapsearch -LLL -w “你的密码” -x -D “cn=root,dc=test,dc=com”
正常执行后输出如下:

[root@localhost openldap]# ldapsearch -LLL -W -x -D “cn=root,dc=test,dc=com”
Enter LDAP Password:
No such object (32)
No such object (32)

这个输出就是正常的,因为我们没有网LDAP里面添加过任何数据,所以查询出来是空的。到这里为止LDAP就已经成功安装了。

若出现以下错误:

[root@localhost openldap]# ldapsearch -LLL -W -x -D “cn=root,dc=test,dc=com”
Enter LDAP Password:
ldap_bind: Invalid credentials (49)

提示信息很明显,要么是你密码输错了,要么就是你在第四步配置的密码字符串配置错了。检查一下配置文件,或者从第三步重新再来。

第八步 init group user

dn: dc=test,dc=com
o: testcom
dc: test
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=root,dc=test,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager

dn: ou=Users,dc=test,dc=com
ou: Users
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=test,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
ldapadd -x -D “cn=root,dc=test,dc=com” -W -f base.ldif
注: LDAP创建的新用户,senry授权后,还必须再HIVESERVER2节点,创建OS账号。因为,sentry授权是基于账号所在的group, LDAP账号没有组。

ldap卸载

停止openldap

systemctl stop slapd
systemctl disable slapd

卸载

yum -y remove openldap-servers openldap-clients

删除残留文件

rm -rf /var/lib/ldap

删除ldap用户

userdel ldap

删除openldap目录

rm -rf /etc/openldap

ldap配置hue、impala、hive