CentOS7搭建OpenLdap环境

675 阅读2分钟

采用yum方式安装OpenLDAP服务

1、yum 安装

yum install openldap openldap-servers openldap-clients -y

2、启动

systemctl start slapd
systemctl enable slapd

3、验证ldap是否启动成功

[root@localhost ~]# ss -lntp
State       Recv-Q Send-Q                                                                             Local Address:Port                                                                                            Peer Address:Port              
LISTEN      0      128                                                                                            *:22                                                                                                         *:*                   users:(("sshd",pid=943,fd=3))
LISTEN      0      100                                                                                    127.0.0.1:25                                                                                                         *:*                   users:(("master",pid=1142,fd=13))
LISTEN      0      128                                                                                            *:389                                                                                                        *:*                   users:(("slapd",pid=2025,fd=8))
LISTEN      0      128                                                                                         [::]:22                                                                                                      [::]:*                   users:(("sshd",pid=943,fd=4))
LISTEN      0      100                                                                                        [::1]:25                                                                                                      [::]:*                   users:(("master",pid=1142,fd=14))
LISTEN      0      128                                                                                         [::]:389                                                                                                     [::]:*                   users:(("slapd",pid=2025,fd=9))

配置 OpenLDAP 服务器

OpenLDAP服务器配置文件位于 /etc/openldap/slapd.d/。配置LDAP,我们需要更新变量 olcSuffix 和 olcRootDN

  • olcSuffix - 数据库后缀,它是LDAP服务器提供信息的域名。简单来说,它应该更改为您的域名。
  • olcRootDN - 具有对LDAP执行所有管理活动的无限制访问权限的用户的根专有名称(DN)条目,如root用户。
  • olcRootPW - 上述RootDN的LDAP管理员密码。
    以上条目需要在 /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif 文件中更新。不要手动编辑LDAP配置文件,所有的变动都应该使用 ldapmodify 命令行工具来操作,执行该命令行工具时,手动操作所做的变动都会丢失。

初始化db.ldif

vim db.ldif 写入以下内容

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=root,dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}pGjkCDgfzTvHjhVxZ6zmU+cDNDo8ayE+

上面的olcRootPW采用slappasswd生成的。输入slappasswd后,输入两次一样的密码得到加密的密码。这里的密码为123456
导入db.ldif ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

初始化monitor.ldif

vim monitor.ldif 写入以下内容

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=root,dc=example,dc=com" read by * none

导入monitor.ldif ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif

设置 OpenLDAP 数据库

1、将example示例数据库配置文件复制到/var/lib/ldap并更新文件权限。

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/ -R

2、添加cosine和nis LDAP模式

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

3、 导入base.ldif vim base.ldif 写入以下内容

dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain

dn: cn=root ,dc=example,dc=com
objectClass: organizationalRole
cn: root
description: LDAP Manager

dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group

采用ldapadd导入进去ldapadd -x -W -D "cn=root,dc=example,dc=com" -f base.ldif 该步骤会提示你输入密码,密码为上面slappasswd生成的密码也就是123456

登录

采用ldapAdmin工具登录

image.png

image.png