检讨版本为2.4.44
(1)下面通过复制一个默认配置到指定目录下,并授权给ldap用户,而该用户会在安装时自动创建。
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
(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的登录,也可以直策应用该用户账号登录到测试机器上。