检讨版本为2.4.44

(1)下面通过复制一个默认配置到指定目录下,并授权给ldap用户,而该用户会在安装时自动创建。

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

php55w下载OpenLdap安排 Docker

(2)授权给ldap用户,该用户在yum安装时会自动创建

#chown -R ldap.ldap /var/lib/ldap/DB_CONFIG

(3)启动做事

# systemctl start slapd

# systemctl enable slapd

(4)查看做事状态

修正配置

须要把稳的是,从2.4.43版本开始,所有配置都保存在/etc/openldap/slapd.d目录下的cn=config文件夹内,不再利用slapd.conf作为配置文件。
配置文件的后缀为ldif,且都是通过命令自动天生的,配置文件上方标有自动天生的字眼,不能手动编辑,一样平常是利用ldapadd,ldapmodify和ldapdelete进行操作。

第一步:天生管理员密码,并记录下来,后面的配置会用到

#slappasswd -s

{SSHA}VvZS2KL0+pQyKILG9MVtSr3LnkOV

在任意目录下,新建一个文件myldap.ldif,文件名可以自定义。

#vi myldap.ldif

dn: olcDatabase={0}config,cn=config

changetype: modify

add: olcRootPW

olcRootPW: {SSHA}N/+lD2j+ecF2J2ThbmyRX4jxRLuhvbdd

---------------------------------------------------------------------------------------

# 这里阐明一下这个文件的内容:

# 第一行指定文件。
在/etc/openldap/slapd.d/目录下就能找到此文件

# 第二行 changetype 指定类型为修正

# 第三行 add 表示添加 olcRootPW 配置项

# 第四行指定 olcRootPW 配置项的值

然后实行ldapadd命令,修正ldap配置,通过-f实行文件

#去查看olcDatabase\=\{0\}config.ldif文件,实行命令后,会新增了olcRootPW项内容,而且内容是我们文件中指定的值加密后的字符串

然后连续实行以下命令

#ls /etc/openldap/schema/.ldif | xargs -I {} sudo ldapadd -Y EXTERNAL -H ldapi:/// -f {}

第二步:修正域名,新增changedomain.ldif文件,自定义域名为.com,管理员用于账号为admin,如果要修正其它的,则修正文件中对应的dc=,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=admin,dc=,dc=com" read by none

dn: olcDatabase={2}hdb,cn=config

changetype: modify

replace: olcSuffix

olcSuffix: dc=,dc=com

dn: olcDatabase={2}hdb,cn=config

changetype: modify

replace: olcRootDN

olcRootDN: cn=admin,dc=,dc=com

dn: olcDatabase={2}hdb,cn=config

changetype: modify

replace: olcRootPW

olcRootPW: {SSHA}VvZS2KL0+pQyKILG9MVtSr3LnkOVPObC

dn: olcDatabase={2}hdb,cn=config

changetype: modify

add: olcAccess

olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=,dc=com" write by anonymous auth by self write by none

olcAccess: {1}to dn.base="" by read

olcAccess: {2}to by dn="cn=admin,dc=,dc=com" write by read

然后实行修正命令

#ldapmodify -Y EXTERNAL -H ldapi:/// -f changedomin.ldif

然后开启memberof功能,新建下面三个文件。

新建完三个文件后,依次实行下面的命令。

创建组织架构

下面可以创建一个为 company的组织,并在其下创建一个admin的组织角色(该组织角色内的用户具有管理全体LDAP的权限)、People和group两个组织单元。

新建配置文件

2、实行ldapadd命令,记得须要输入密码

支配web管理页面

1、安装php

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

[root@localhost ~]# yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64 --skip-broken

不才载安装包时,涌现以下报错。

#vi /etc/yum.conf

然后连续实行安装,就没有报错。

yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-ldap.x86_64 php55w-mbstring.x86_64 php55w-mcrypt.x86_64 php55w-mysql.x86_64 php55w-pdo.x86_64 --skip-broken

2、安装phpldapadmin

[root@localhost ~]# yum install -y phpldapadmin

安装完成后,修正/etc/httpd/conf.d/phpldapadmin.conf配置文件。

# 修正配置用DN登录ldap

# 398行,默认是利用uid进行登录,我这里改为cn,也便是用户名

[root@localhost ~]# sed -i '398c $servers->setValue('login','attr','cn');' /etc/phpldapadmin/config.php

# 460行,关闭匿名登录,否则任何人都可以直接匿名登录查看所有人的信息

[root@localhost ~]# sed -i '460c $servers->setValue('login','anon_bind',true);' /etc/phpldapadmin/config.php

# 519行,设置用户属性的唯一性,以确保用户名的唯一性

[root@localhost ~]# sed -i '519c $servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));' /etc/phpldapadmin/config.php

3、访问和利用

输入密码登录后可以手动创建组织和用户组。

客户端登录测试

在很多教程中,只是先容了如何支配做事器端,短缺了对客户端支配的先容,下面先容了详细的客户端支配步骤。

1、在一台centos7的机器上安装客户端安装程序。

#yum -y install openldap-clients nss-pam-ldapd

#authconfig --enableldap \--enableldapauth \--ldapserver=... \--ldapbasedn="dc=,dc=com" \--enablemkhomedir \--update

2、下面是利用web管理页面创建一个登任命户的例子

3、在刚才测试的机器上,可以通过su test15即可切换到test15的登录,也可以直策应用该用户账号登录到测试机器上。