管理节点系统RHEL7.9, hostname: mu01, private IP: 12.12.12.100

1.安装openldap
[root@mu01 ~]# yum -y install openldap-* compat-openldap migrationtools

2.数据库模板初始化
[root@mu01 ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@mu01 ~]# chown ldap.ldap /var/lib/ldap/DB_CONFIG
启动服务:
[root@mu01 ~]# systemctl enable slapd
[root@mu01 ~]# systemctl start slapd

3.配置openldap
[root@mu01 ~]# slappasswd -h {SSHA} -s admin069
{SSHA}Ht28FIss14oLv7IDq0y672W5KBpls+Wg
-s是后面的admin069是管理员密码,下面输出的{SSHA}Ht28FIss14oLv7IDq0y672W5KBpls+Wg是加密密码
加密后的字段保存下,等会在配置文件中会使用到。
[root@mu01 ~]# vim db.ldif
[root@mu01 ~]# cat db.ldif 
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=local,dc=cn

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=local,dc=cn

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}Ht28FIss14oLv7IDq0y672W5KBpls+Wg
注意:冒号后面一定加空格,其中cn=Manager中的Manager表示OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP管理员的密码。
dc表示域名,dc=local,dc=cn,相当于local.cn,级别越高越靠后。

导入修改配置
[root@mu01 ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

导入基本Schema
[root@mu01 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
[root@mu01 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
[root@mu01 ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

导入base数据,指定管理员等信息
[root@mu01 ~]# ldapadd -x -w "admin069" -D "cn=Manager,dc=local,dc=cn" -f base.ldif
其中admin069就是最开始初始化ladp的管理员密码

修改migrate_common.ph文件
migrate_common.ph文件主要是用于生成ldif文件使用,修改migrate_common.ph文件,如下:
[root@mu01 ~]# vi /usr/share/migrationtools/migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "local.cn";
$DEFAULT_BASE = "dc=local,dc=cn";
$EXTENDED_SCHEMA = 1;
主要修改这三行,其中$EXTENDED_SCHEMA = 1是开启扩展模式

4.添加用户及用户组
[root@mu01 ~]# groupadd chem
[root@mu01 ~]# groupadd ifmc
[root@mu01 ~]# useradd -g chem wuy
[root@mu01 ~]# passwd wuy
把刚刚添加的用户和用户组提取出来,这包括该用户的密码和其他相关属性,如下:
[root@mu01 ~]# grep ":10[0-9][0-9]" /etc/passwd > /root/users
[root@mu01 ~]# grep ":10[0-9][0-9]" /etc/group > /root/groups
根据上述生成的用户和用户组属性,使用migrate_passwd.pl和migrate_group.pl文件生成要添加用户和用户组的ldif,如下:
[root@mu01 ~]# /usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
[root@mu01 ~]# /usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
导入用户和用户组到数据库,使用如下命令:
[root@mu01 ~]# ldapadd -x -w "admin069" -D "cn=Manager,dc=local,dc=cn" -f /root/users.ldif
[root@mu01 ~]# ldapadd -x -w "admin069" -D "cn=Manager,dc=local,dc=cn" -f /root/groups.ldif

5.查询OpenLDAP的相关信息
查询OpenLDAP全部信息,使用如下命令:
[root@mu01 ~]# ldapsearch -x -b dc=local,dc=cn
查询添加的OpenLDAP用户信息,使用如下命令:
[root@mu01 ~]# ldapsearch -x uid=wuy -b dc=local,dc=cn
查询添加的OpenLDAP用户组信息,使用如下命令:
[root@mu01 ~]# ldapsearch -x cn=chem -b dc=local,dc=cn

6.配置openldap登录
[root@mu01 ~]# authconfig-tui
选中[*] Use LDAP Authentication --> Next--> Use TLS前面可不选-->
Server: ldap://12.12.12.100
Base DN: dc=local,dc=cn
然后点击OK

7.客户端client配置openldap
在客户端上安装必要的LDAP包
yum install -y openldap-clients nss-pam-ldapd
执行下面的命令,将客户端添加到LDAP服务器以进行单点登录。服务器地址使用LDAP服务器的IP地址或主机名
authconfig --enableldap --enableldapauth --ldapserver=12.12.12.100 --ldapbasedn="dc=local,dc=cn" --enablemkhomedir --update
启动nslcd服务
systemctl enable nslcd
systemctl start nslcd

参考:
1. https://blog.csdn.net/weixin_43423965/article/details/105215245
2. https://www.cnblogs.com/quliuliu2013/p/11303038.html
3. https://www.cnblogs.com/networking/p/14193559.html
4. https://www.kclouder.cn/openldap-1/