CentOS7安装OpenLDAP

  |   0 评论   |   4,218 浏览

yum安装OpenLDAP

执行以下命令

yum -y install openldap-servers openldap-clients
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
systemctl start slapd
systemctl enable slapd

配置OpenLDAP

创建管理员密码

运行slappasswd

image.png

初始化

将以下文本保存至/etc/openldap/init.ldif

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}bdssfMSCcDL+QWqHQk5vnVXaz3lglKXj

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}bdssfMSCcDL+QWqHQk5vnVXaz3lglKXj

#修改Suffix
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=cxy7,dc=com

#修改RootDomain
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=cxy7,dc=com

#修改访问权限
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=cxy7,dc=com" read by * none

其中记得要修改olcRootPW,为刚创建的slappasswd

image.png

执行刚才的几条命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/init.ldif

image.png

基础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

image.png

对你的域名进行一些基础配置

将以下文本保存至/etc/openldap/baseDomain.ldif

dn: dc=cxy7,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: cxy7 com
dc: cxy7
dn: cn=Manager,dc=cxy7,dc=com
objectClass: organizationalRole
cn: Manager
dn: ou=People,dc=cxy7,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=cxy7,dc=com
objectClass: organizationalUnit
ou: Group
ldapadd -x -D cn=Manager,dc=cxy7,dc=com -W -f /etc/openldap/baseDomain.ldif

image.png

安装phpldapadmin

yum安装

yum install -y phpldapadmin

修改访问权限

vim /etc/httpd/conf.d/phpldapadmin.conf

在第12行增加

Require ip 192.168.0.0/8

image.png

重启Apache

systemctl restart httpd

phpldapadmin简单使用

访问

http://192.168.13.83/phpldapadmin

image.png

登录

注意这里的登录名为你的DN,密码为你设置的slappasswd

image.png

主面板

image.png

可能出现的问题

Job for slapd.service failed because the control process exited with error code

[root@h1 openldap]# systemctl start slapd
Job for slapd.service failed because the control process exited with error code. See "systemctl status slapd.service" and "journalctl -xe" for details.
[root@h1 openldap]# systemctl status slapd.service
● slapd.service - OpenLDAP Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/slapd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2018-07-16 18:37:28 CST; 42s ago
     Docs: man:slapd
           man:slapd-config
           man:slapd-hdb
           man:slapd-mdb
           file:///usr/share/doc/openldap-servers/guide.html
  Process: 64743 ExecStart=/usr/sbin/slapd -u ldap -h ${SLAPD_URLS} $SLAPD_OPTIONS (code=exited, status=1/FAILURE)
  Process: 64726 ExecStartPre=/usr/libexec/openldap/check-config.sh (code=exited, status=0/SUCCESS)
Jul 16 18:37:28 h1.cxy7.com runuser[64729]: pam_unix(runuser:session): session opened for user ldap by (uid=0)
Jul 16 18:37:28 h1.cxy7.com runuser[64729]: pam_unix(runuser:session): session closed for user ldap
Jul 16 18:37:28 h1.cxy7.com slapd[64743]: @(#) $OpenLDAP: slapd 2.4.44 (May 16 2018 09:55:53) $
                                                  mockbuild@c1bm.rdu2.centos.org:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
Jul 16 18:37:28 h1.cxy7.com slapd[64743]: main: TLS init def ctx failed: -1
Jul 16 18:37:28 h1.cxy7.com slapd[64743]: slapd stopped.
Jul 16 18:37:28 h1.cxy7.com slapd[64743]: connections_destroy: nothing to destroy.
Jul 16 18:37:28 h1.cxy7.com systemd[1]: slapd.service: control process exited, code=exited status=1
Jul 16 18:37:28 h1.cxy7.com systemd[1]: Failed to start OpenLDAP Server Daemon.
Jul 16 18:37:28 h1.cxy7.com systemd[1]: Unit slapd.service entered failed state.
Jul 16 18:37:28 h1.cxy7.com systemd[1]: slapd.service failed.

如果是重装的openldap,可能没有certs,验证

[root@h1 openldap]# ll /etc/openldap/certs/
total 100
-rw-r--r-- 1 root root 65536 Jul 16 16:12 cert8.db
-rw-r--r-- 1 root root 16384 Jul 16 16:12 key3.db
-r--r----- 1 root ldap    45 Mar 14 10:25 password
-rw-r--r-- 1 root root 16384 Mar 14 10:25 secmod.db

参考

LDAP服务器的概念和原理简单介绍

读后有收获可以支付宝请作者喝咖啡