一、搭建LDAP服务器
1、使用yum进行安装
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
2、启动服务并设置为自启动,检查服务运行状态
systemctl start slapdsystemctl enable slapdsystemctl status slapd
3、创建根密码
- 该密码是LADP服务器的管理员根密码,输入slappasswd后提示输入密码(123456)与确认密码,系统会输出一串加密后的字符串(保存好加密后的字符串,后面需要使用)
slappasswd
4、配置服务
- 通过ldapmodify进行修改,不建议直接对文件进行修改
①查看文件
cd /etc/openldap/slapd.d/cn=configll
②创建目录存放修改文件
mkdir ldap
③创建db.ldif文件
vim db.ldif
- 在db.ldif文件中编辑如下内容,目的就是替换上图中olcDatabase={2}hdb.ldif中 olcSuffix、olcRootDN、olcRootPW这三个字段的内容
- 在olcSuffix, olcRootDN中可自定义
- 在olcRootPW中复制使用上面生成的加密字符串
dn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSuffixolcSuffix: dc=wxbz,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcRootDNolcRootDN: cn=admin,dc=wxbz,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}+vRu28ebQ3oa6uOmzs0t2rjIzDRkBqyf
- 编辑完成后,在ldap目录执行如下命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
- 执行完毕如下图所示,即代表更改完成,三个字段内容被成功替换
④创建monitor.ldif文件
vim monitor.ldif
- 在monitor.ldif文件中编辑如下内容
dn: olcDatabase={1}monitor,cn=configchangetype: modifyreplace: olcAccessolcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=admin,dc=wxbz,dc=com" read by * none
- 编辑完成后,在ldap目录执行如下命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
- 执行完毕如下图所示,即代表更改完成
⑤创建ldap基础库
- 复制ldap原有配置,并赋予它所有权限
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIGchown ldap:ldap /var/lib/ldap/*
- 向数据库添加schemas,包括cosine、nis、inetorgperson三个文件,然后分别执行下列命令
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
⑥创建base.ldif
vim base.ldif
- 在base.ldif文件中编辑如下内容
dn: dc=wxbz,dc=comdc: wxbzobjectClass: topobjectClass: domaindn: cn=admin,dc=wxbz,dc=comobjectClass: organizationalRolecn: admindescription: LDAP Managerdn: ou=People,dc=wxbz,dc=comobjectClass: organizationalUnitou: Peopledn: ou=Group,dc=wxbz,dc=comobjectClass: organizationalUnitou: Group
- 编辑完成后,在ldap目录执行如下命令,保存至数据库
ldapadd -x -W -D "cn=admin,dc=wxbz,dc=com" -f base.ldif
- 执行完毕如下图所示,即代表更改完成
至此,ldap服务器基础配置完成
5、通过软件登录ldap服务器进行管理
①下载Ldap Admin
官网:LDAP Admin - a free LDAP directory browser and editor
百度网盘:链接:https://pan.baidu.com/s/13kau93reCkAx7-GgSe3oAQ 提取码:oc4d
②连接ldap服务器
- 点击start-->connect,双击New connection,然后输入Connection name、Host、Base以及用户名和密码,如下图所示
- 点击Test connection
- 点击OK,双击LDAP服务器
- 登录成功
二、安装并使用图形界面
1、安装web界面phpldapadmin
yum install -y phpldapadmin # yum安装时,会自动安装apache和php的依赖
- PS:如果找不到软件包,重新设置一下yum源
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
- 重新执行命令 yum install -y phpldapadmin 后成功安装
2、修改apache的phpldapadmin配置文件
①修改phpldapadmin.conf文件
vim /etc/httpd/conf.d/phpldapadmin.conf
- 放开外网访问,这里只改了2.4版本的配置,因为centos7 默认安装的apache为2.4版本。所以只需要改2.4版本的配置
PS:执行 rpm -qa|grep httpd 查看apache版本
②修改配置使用DN登录LDAP服务器
vim /etc/phpldapadmin/config.php
- 398行,默认是使用uid进行登录,这里改为cn,也就是用户名
$servers->setValue('login','attr','cn');
- 460行,启用,关闭匿名登录,否则任何人都可以直接匿名登录
$servers->setValue('login','anon_bind',false);
- 519行,启用,设置用户属性的唯一性,这里将cn,sn加上了,以确保用户名的唯一性
$servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));
3、重启httpd服务并设置自启动
systemctl restart httpd.servicesystemctl enable httpd.servicesystemctl status httpd.service
4、登录Web界面
①访问 http://ip/phpldapadmin
②登录
- 输入用户名、密码
- 成功登录
至此,全部完成