ITPub博客

首页 > 数据库 > 数据库开发技术 > CentOS7下搭建OpenLDAP服务器

CentOS7下搭建OpenLDAP服务器

原创 数据库开发技术 作者:u_2ebce1c3a860 时间:2019-12-29 16:18:44 0 删除 编辑

LDAP 是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),LDAP轻量目录访问协议为用户管理提供了统一认证服务,解决了长期存在的多套用户认证系统孤立、繁杂、难以维护的问题。具有简捷、高效、易用的特性,是用户认证管理的不二选择,OpenLDAP属于开源集中账号管理架构的实现

下面介绍在CentOS7下搭建OpenLDAP服务器,环境如下
1)CentOS7 Linux服务器一台 IP:192.168.31.200 搭建OpenLDAP服务器,需要部署的LDAP域信息为walkingcloud.cn
2)CentOS7 Linux服务器一台 IP:192.168.31.76  作为OpenLDAP的客户端机器用于验证
管理账户信息:dn:cn=Manager,dc=walkingcloud,dc=cn
1、 yum方式安装OpenLDAP服务
yum -y install openldap-servers openldap-clients 
2、拷贝数据库配置配置文件,并启动服务
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
chown ldap. /var/lib/ldap/DB_CONFIG 
systemctl start slapd 
systemctl enable slapd
3、slappasswd生成OpenLDAP管理员密码
1)使用slappasswd命令设置OpenLDAP管理员密码,并记录下
2)vi chrootpw.ldif 
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}TNFs8yAo1VQ82uMAzK+1o8Q2XRgznBMb
#指定上面slappasswd命令生成的密码串
3)ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
4、导入基本的模式
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 
5、在OpenLDAP DB上配置域信息
1)slappasswd 生成管理员的密码
2)vi chdomain.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=Manager,dc=walkingcloud,dc=cn" read by * none


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


dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=walkingcloud,dc=cn


dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}XnSjDW+kj37E6TdwwkUw1P32ezGkkYPr


dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
  dn="cn=Manager,dc=walkingcloud,dc=cn" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=walkingcloud,dc=cn" write by * read
3)ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif 
4)vi basedomain.ldif
dn: dc=walkingcloud,dc=cn
objectClass: top
objectClass: dcObject
objectclass: organization
o: Walking Cloud
dc: walkingcloud


dn: cn=Manager,dc=walkingcloud,dc=cn
objectClass: organizationalRole
cn: Manager
description: Directory Manager


dn: ou=People,dc=walkingcloud,dc=cn
objectClass: organizationalUnit
ou: People


dn: ou=Group,dc=walkingcloud,dc=cn
objectClass: organizationalUnit
ou: Group

5)ldapadd -x -D cn=Manager,dc=walkingcloud,dc=cn -W -f basedomain.ldif
这时输入Manager的密码
6、添加一个用户
1)slappasswd 
New password: 
Re-enter new password: 
{SSHA}R8l3FCSfEHN4vrFnTsGc9EOib71HPSN4
2)vi ldapuser.ldif 
dn: uid=yuanfan,ou=People,dc=walkingcloud,dc=cn
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: yuanfan
sn: Linux
userPassword: {SSHA}R8l3FCSfEHN4vrFnTsGc9EOib71HPSN4
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/yuanfan


dn: cn=yuanfan,ou=Group,dc=walkingcloud,dc=cn
objectClass: posixGroup
cn: yuanfan
gidNumber: 1000
memberUid: yuanfan
3)ldapadd -x -D cn=Manager,dc=walkingcloud,dc=cn -W -f ldapuser.ldif 
输入管理员的密码
7、OpenLDAP 客户端配置
1)yum -y install openldap-clients nss-pam-ldapd 

2)authconfig --enableldap --enableldapauth --ldapserver=192.168.31.200 --ldapbasedn="dc=walkingcloud,dc=cn" --enablemkhomedir --update
3)接下来用上面创建的LDAP用户登录
输入openLDAP用户的密码,可以正常登录
8、安装phpLDAPadmin实现通过Web管理LDAP服务
1)yum install -y httpd
2)mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf_bak
3) vi /etc/httpd/conf/httpd.conf 
95行下面加一行
     95 #ServerName
     96 ServerName
在151行处改为
     AllowOverride All
164行处改为
     DirectoryIndex index.html index.php index.cgi
 在最下面添加如下两行
ServerTokens Prod
KeepAlive On
4)
systemctl start httpd
systemctl enable httpd.service
6) 安装php
yum install php php-mbstring php-pear
systemctl restart httpd
7) yum --enablerepo=epel -y install phpldapadmin
8)vi /etc/phpldapadmin/config.php
397行取消注释,398行注释掉
$servers->setValue('login','attr','dn');
//$servers->setValue('login','attr','uid');
9)vi /etc/httpd/conf.d/phpldapadmin.conf 
12行处添加访问的网段信息,例如192.168.31.0/24
Require ip 192.168.31.0/24
然后重启httpd服务
10)验证phpldapadmin是否可以打开
11)用管理员账号进行登录
cn=Manager,dc=walkingcloud,dc=cn
可以看到之前添加的一个账户yuanfan
9、LDAPadmin客户端工具
Ldap Admin是用于LDAP目录管理的免费Windows LDAP客户端和管理工具。此应用程序使您可以浏览,搜索,修改,创建和删除LDAP服务器上的对象。它还支持更复杂的操作,例如目录复制和在远程服务器之间移动,并扩展了常用的编辑功能以支持特定的对象类型(例如组和帐户)。
http://www.ldapadmin.org/

原文作者:WalkingCloud;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-05-05

  • 博文量
    441
  • 访问量
    209414