1、安装VIM编辑文件用和EPEL-releaseyum源
yum install vim epel-release -y
2、同步时间,关闭seliunx和firewalld,重启服务器
ntpdate -u ntp.api.bz && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config && setenforce 0 && systemctl disable firewalld.service && systemctl stop firewalld.service && shutdown -r now
3、安装OpenLDAP的软件
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
4、查看的OpenLDAP的的版本
slapd -VV
5、配置的OpenLDAP的的管理员密码
slappasswd -s 123456
上述加密后的字段保存下,等会我们在配置文件中会使用到。
6、修改olcDatabase = {2} hdb.ldif文件
注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/中,建议不再使用的slapd.conf的文件作为配置文件。
修改olcDatabase = {2} hdb.ldif文件,对于该文件增加一行
olcRootPW: {SSHA}zgnwgJb4UsR6QxrOtHRkysmNob/3FLSi,然后修改域信息:
olcSuffix: dc=jyyjy,dc=com
olcRootDN: cn=root,dc=jyyjy,dc=com
注意:其中CN =根中的根表示的OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP的管理员的密码。
vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}hdb.ldif
7、修改olcDatabase = {1} monitor.ldif文件
vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
注意:该修改中的dn.base是修改的OpenLDAP的的的管理员的相关信息的。
8、验证的OpenLDAP的的基本配置,使用如下命令:
slaptest -u
通过上图,我们可以很明显的看出的OpenLDAP的的基本配置是没有问题。
启动的OpenLDAP的服务,使用如下命令:
systemctl start slapd
systemctl enable slapd
systemctl status slapd
9、OpenLDAP的的默认监听的端口是389,下面我们来看下是不是389端口,如下:
netstat -antup | grep 389
10、配置的OpenLDAP的数据库
OpenLDAP的的默认使用的数据库是的BerkeleyDB的,现在来开始配置的OpenLDAP的数据库,使用如下命令:
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/
注意:/var/ lib/ldap就是的BerkeleyDB数据库默认存储的路径。
导入基本架构,使用如下命令:
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
migrate_common.ph文件主要是用于生成LDIF文件使用,修改migrate_common.ph文件,如下:
vim /usr/share/migrationtools/migrate_common.ph +71
到此的OpenLDAP的的配置就已经全部完毕,下面我们来开始添加用户到OpenLDAP的的中
1、默认情况下的OpenLDAP是没有普通用户的,但是有一个管理员用户。管理用户就是前面我们刚刚配置的CN = root,DC = jyyjy.dc = com的
现在我们把系统中的用户,添加到OpenLDAP的的中为了进行区分,我们现在新加两个用户ldapuser1和ldapuser2,和两个用户组ldapgroup1和ldapgroup2,如下:
添加用户组,使用如下命令:
groupadd ldapgroup1
groupadd ldapgroup2
添加用户并设置密码,使用如下命令:
useradd -g ldapgroup1 ldapuser1
useradd -g ldapgroup2 ldapuser2
echo '123456' | passwd --stdin ldapuser1
echo '123456' | passwd --stdin ldapuser2
2、把刚刚添加的用户和用户组提取出来,这包括该用户的密码和其他相关属性,如下:
grep ":10[0-9][0-9]" /etc/passwd > /root/users
grep ":10[0-9][0-9]" /etc/group > /root/groups
3、根据上述生成的用户和用户组属性,使用migrate_passwd.pl文件生成要添加用户和用户组的LDIF中,如下:
/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
root /usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
注意:后续如果要新加用户到OpenLDAP的的中的话,我们可以直接修改users.ldif文件即可。
4、导入用户及用户组到的OpenLDAP的数据库,配置的OpenLDAP的基础的数据库,如下:
vim /root/base.ldif 添加如下内容注意格式
dn: dc=jyyjy,dc=com
o: jyyjy com
dc: jyyjy
objectClass: top
objectClass: dcObject
objectclass: organization
dn: cn=root,dc=jyyjy,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager
dn: ou=People,dc=jyyjy,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou =Group, dc=jyyjy,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
5、导入基础数据库,使用如下命令:
ldapadd -x -w "123456" -D "cn=root,dc=jyyjy,dc=com" -f /root/base.ldif
root ldapadd -x -w "123456" -D "cn=root,dc=jyyjy,dc=com" -f /root/users.ldif
root ldapadd -x -w "123456" -D "cn=root,dc=jyyjy,dc=com" -f /root/groups.ldif
6,查看的BerkeleyDB的数据库文件,使用如下命令:
ll / var/lib/ldap /
可以很明显的看到此时的BerkeleyDB的数据库文件中多了cn.bdb,sn.bdb,ou.bdb等数据库文件。
7、查询的OpenLDAP的的相关信息
ldapsearch -x -b "dc=jyyjy,dc=com" -H ldap://127.0.0.1
ldapsearch -LLL -x -D 'cn=root,dc=jyyjy,dc=com' -w '123456' -b 'dc=jyyjy,dc=com' 'uid=ldapuser1'
ldapsearch -LLL -x -D 'cn=root,dc=jyyjy,dc=com' -w '123456' -b 'dc=jyyjy,dc=com' 'uid=ldapgroup1'
注意:上述截图,我们可以很明显的看到ldapgroup1用户组中,目前没有任何成员。
尽管我们已经把用户和用户组信息,导入到的OpenLDAP的数据库中了。但实际上目前的OpenLDAP的用户和用户组之间是没有任何关联的。
如果我们要把OpenLDAP的的数据库中的用户和用户组关联起来的话,我们还需要做另外单独的配置。
现在我们要把ldapuser1用户加入到ldapgroup1用户组,需要新建添加用户到用户组的LDIF文件,如下:
vim add_user_to_groups.ldif
dn: cn=ldapgroup1,ou=Group,dc=jyyjy,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser1
执行如下命令:
ldapadd -x -w "123456" -D "cn=root,dc=jyyjy,dc=com" -f /root/add_user_to_groups.ldif
查询添加的OpenLDAP的的用户组信息,如下:
ldapsearch -LLL -x -D 'cn=root,dc=jyyjy,dc=com' -w '123456' -b 'dc=jyyjy,dc = com' 'cn = ldapgroup1'
通过上图,我们可以很明显的看出ldapuser1用户已经加入到ldapgroup1用户组了。
vim /root/loglevel.ldif
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
导入到的OpenLDAP的中,并重启的OpenLDAP的服务,如下:
ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif
systemctl重启的slapd
修改rsyslog现在现在配置文件,并重启rsyslog现在现在服务,如下:
cat >> /etc/rsyslog.conf << EOF
local4.* /var/log/slapd.log
EOF
重启日志服务
systemctl重启rsyslog现在
查看的OpenLDAP的日志,如下:
tail -f /var/log/slapd.log
如图1所示,安装的httpd服务器
yum install httpd -y
2,修改配置文件的的httpd.conf
vim /etc/httpd/conf/httpd.conf
找到了的AllowOverride一行,修改没有为所有
AllowOverride all
Require all denied
如果想修改端口号,修改听80一行
3,启动服务,测试页面
systemctl start httpd.service
systemctl enable httpd.service
curl http://127.0.0.1/
4,安装phpldapadmin
yum install phpldapadmin
(如果找不到软件包,重新设置一下yum源)
yum localinstall http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
5,修改配置文件
vim /etc/phpldapadmin/config.php
找到并取消下面几行的注释:$servers->setValue('login','attr','dn');
$servers->setValue('login','base',array('dc=jyyjy,dc=com'))
$servers->setValue('login','auth_type','session');
取消注释
// $ servers-> setValue('login','attr','uid');
6,修改访问配置文件,允许任意IP访问
vim /etc/httpd/conf.d/phpldapadmin.conf
添加一行指令,允许这个IP段访问
访问 http://服务器ip/phpldapadmin
登陆用户名:cn=root,dc=jyyjy,dc=com 密码为前面slappasswd设置的密码我的为123456