LDAP服务器搭建(基于RedHat8)

资源包准备

安装包名称说明
openldapopenldap服务端和客户端必须用的库文件
openldap-servers用于启动服务和设置. 包含单独的ldap后台守护程序
openldap-clients用于启动服务和设置. 包含单独的ldap后台守护程序
openldap-develdevel包,可选择进行安装
openldap-servers-sql支持sql模块,可进行选择性安装
migrationtools通过migrationtools实现OpenLDAP用户及用户组的添加,导入系统账户,可进行选择性安装
compat-openldapopenldap兼容性库

本文采用的安装方式是rpm,可在https://pkgs.org/上自行搜索以上资源进行下载,注意不同资源之间版本对应

安装资源

在这里插入图片描述

# 查询资源是否已经安装
[root@localhost xb]# rpm -qa openldap
openldap-2.4.46-15.el8.x86_64 # 资源已经安装,发现版本不一致,可以选择升级版本或者卸载
# 选择升级openldap
[root@localhost xb]# rpm -Uvh openldap-2.4.46-18.el8.x86_64.rpm 
警告:openldap-2.4.46-18.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:openldap-2.4.46-18.el8           ################################# [ 50%]
正在清理/删除...
   2:openldap-2.4.46-15.el8           ################################# [100%]
[root@localhost xb]# rpm -qa openldap
openldap-2.4.46-18.el8.x86_64
# 安装openldap-servers
[root@localhost xb]# rpm -ivh openldap-servers-2.4.46-18.el8.x86_64.rpm 
警告:openldap-servers-2.4.46-18.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:openldap-servers-2.4.46-18.el8   ################################# [100%]
_#################### 100.00% eta   none elapsed            none fast!         
Closing DB...
[/usr/lib/tmpfiles.d/mysql.conf:23] Line references path below legacy directory /var/run/, updating /var/run/mysqld → /run/mysqld; please update the tmpfiles.d/ drop-in file accordingly.
[/usr/lib/tmpfiles.d/slapd.conf:2] Line references path below legacy directory /var/run/, updating /var/run/openldap → /run/openldap; please update the tmpfiles.d/ drop-in file accordingly.
# 安装openldap-clients
[root@localhost xb]# rpm -ivh openldap-clients-2.4.46-18.el8.x86_64.rpm 
警告:openldap-clients-2.4.46-18.el8.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:openldap-clients-2.4.46-18.el8   ################################# [100%]

配置openldap-servers

  1. 将下述文件中框起来的内容改为自己的命名
    /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述

    /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}mdb.ldif
    修改前:
    在这里插入图片描述
    修改后:
    在这里插入图片描述

  2. 在下列文件中添加认证密码olcRootPW: 123123

    	# 加密,生成密码密文
    	[root@localhost /]# slappasswd
    	New password: 
    	Re-enter new password: 
    	{SSHA}qEwWM5OBvEAVR0iQFGW6TmVQOq5nWO8l # 123456密码密文
    

    将密码添加到/etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}mdb.ldif
    在这里插入图片描述

  3. 拷贝DB文件

    [root@localhost /]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    # 修改文件权限
    [root@localhost /]# chown -R ldap:ldap /var/lib/ldap/
    
  4. 配置ldap.conf

    vim /etc/openldap/ldap.conf
    

    BASEURL的注释去除,更换为下述,URL 中的IP 地址更换为你的云服务器的公网 IP。
    在这里插入图片描述

  5. 启动服务

    # 检查配置文件是否正确
    [root@localhost schema]# slaptest -u
    62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
    62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif"
    config file testing succeeded # 成功
    # 启动服务
    [root@localhost schema]# systemctl start slapd.service 
    # 设置服务开机启动
    [root@localhost schema]# systemctl enable slapd.service 
    Created symlink /etc/systemd/system/openldap.service → /usr/lib/systemd/system/slapd.service.
    Created symlink /etc/systemd/system/multi-user.target.wants/slapd.service → /usr/lib/systemd/system/slapd.service.
    # 查看服务状态
    [root@localhost schema]# systemctl status slapd.service 
    ● slapd.service - OpenLDAP Server Daemon
       Loaded: loaded (/usr/lib/systemd/system/slapd.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2022-07-07 17:45:25 CST; 17s ago
         Docs: man:slapd
               man:slapd-config
               man:slapd-hdb
               man:slapd-mdb
               file:///usr/share/doc/openldap-servers/guide.html
     Main PID: 37196 (slapd)
        Tasks: 2 (limit: 11076)
       Memory: 3.9M
       CGroup: /system.slice/slapd.service
               └─37196 /usr/sbin/slapd -u ldap -h ldap:/// ldaps:/// ldapi:///
    
    7月 07 17:45:25 localhost.localdomain systemd[1]: Starting OpenLDAP Server Daemon...
    7月 07 17:45:25 localhost.localdomain runuser[37184]: pam_unix(runuser:session): session opened for user ldap by (uid=0)
    7月 07 17:45:25 localhost.localdomain runuser[37184]: pam_unix(runuser:session): session closed for user ldap
    7月 07 17:45:25 localhost.localdomain slapd[37194]: @(#) $OpenLDAP: slapd 2.4.46 (Aug 10 2021 05:11:20) $
                                                                 mockbuild@x86-02.mbox.centos.org:/builddir/build/BUILD/openldap-2.4.46/openldap-2.4.46/servers/slapd
    7月 07 17:45:25 localhost.localdomain slapd[37194]: ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
    7月 07 17:45:25 localhost.localdomain slapd[37194]: ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif"
    7月 07 17:45:25 localhost.localdomain slapd[37196]: slapd starting
    7月 07 17:45:25 localhost.localdomain systemd[1]: Started OpenLDAP Server Daemon.
    	~~~
    
  6. 配置日志

    # 创建 log.ldif,然后写入内容
    touch log.ldif
    
    #内容
    dn: cn=config
    changetype: modify
    add: olcLogLevel
    olcLogLevel: 32
    
    #根据文件导入
    [root@localhost schema]# ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldif
    SASL/EXTERNAL authentication started
    SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
    SASL SSF: 0
    modifying entry "cn=config"
    # 创建日志文件夹
    [root@localhost schema]# mkdir -p /var/log/slapd
    # 授权文件夹
    [root@localhost schema]# chown ldap:ldap /var/log/slapd/
    # 系统日志文件配置
    [root@localhost schema]# echo "local4.* /var/log/slapd/slapd.log" >> /etc/rsyslog.conf
    # 重启日志服务
    [root@localhost schema]# systemctl restart rsyslog
    # 重启ldap服务
    [root@localhost schema]# systemctl restart slapd
    # 查看日志文件
    [root@localhost schema]# tail -n 4 /var/log/slapd/slapd.log
    Jul  7 17:49:39 localhost slapd[37299]: => test_filter
    Jul  7 17:49:39 localhost slapd[37299]:    PRESENT
    Jul  7 17:49:39 localhost slapd[37299]: <= test_filter 6
    Jul  7 17:49:39 localhost slapd[37301]: slapd starting
    
  7. 添加基础的schema

    # 依次执行以下文件(可以写个脚本执行)
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldif
    ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/core.ldif
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值