前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下搭建OpenLDAP服务器

CentOS7下搭建OpenLDAP服务器

作者头像
yuanfan2012
发布2020-01-02 14:22:38
5K0
发布2020-01-02 14:22:38
举报
文章被收录于专栏:WalkingCloudWalkingCloud
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 www.example.com:80

96 ServerName www.walkingcloud.cn

在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/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档