搭建LDAP服务器详细流程
LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP 之上的访问协议—LDAP。
搭建LDAP服务器
- 引言
- 资源包准备
- 安装软件
- 配置openldap server
- 创建base.ldif文件
- 管理用户与组
- 管理group,user
- 安装phpldapadmin
- web 端登录LDAP
引言
本文介绍如何在搭建ldap服务器,我以在云服务器 ESC (Elastic Compute Service)上搭建为例,ESC系统为 centos7.9。公网IP为121.51.39.239。
里面涉及到的密码设置,可以自行选择密码配置,这里我统一设置为123123,避免搞混。
资源包准备
有些资源在centos中无法通过 yum install
安装,需要下载后手动安装。这里有个 Ldapscripts 资源就需要手动下载安装。
链接:https://pan.baidu.com/s/1KspZJGBzjXt0QIm3ITE2QQ?pwd=xofo 提取码:xofo
安装软件
- 使用
yum install
安装ldap相关软件yum install -y openldap openldap-clients openldap-servers vim
配置openldap server
将下述配置文件中的 Manager 和 my-domain 更换成自己的命名
配置 /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
将下述内容
替换为:
配置 /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
将 下述内容
进行替换,并在最后一行添加认证密码123123:olcRootPW: 123123
拷贝DB文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG # 修改该文件的权限 chown -R ldap:ldap /var/lib/ldap/
测试配置文件是否正确
slaptest -u
如果出现下图样式表示成功,可以忽略error,只要出现 succeeded 即表示成功。
启动服务
systemctl start slapd systemctl enable slapd
添加scheme表
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif 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
创建base.ldif文件
创建 base.ldif 文件
vim base.ldif
拷贝如下内容到创建的 base.ldif 文件
其中的 codesweet 和前面的步骤统一,如果一开始你是设置其他名称,则此处的 codesweet 更换成你的名称,保持统一即可。dn: dc=codesweet,dc=comobjectClass: dcObjectobjectClass: organizationo: codesweet.comdc: codesweetdn: ou=users,dc=codesweet,dc=comobjectClass: organizationalUnitobjectClass: topou: usersdn: ou=groups,dc=codesweet,dc=comobjectClass: organizationalUnitobjectClass: topou: groups
建立最基础的目录结构
ldapadd -x -W -D "cn=admin,dc=dianxin,dc=com" -f base.ldif
配置 ldap.conf
vim /etc/openldap/ldap.conf
将
BASE
和URL
的注释去除,更换为下述,BASE
中的第一个 dc 更换为 codesweet,URL
中的IP 地址更换为你的云服务器的公网 IP。
管理用户与组
安装依赖包
sharutils
yum install sharutils
手动安装资源包
Ldapscripts
将文章起始处下载的资源包 Ldapscripts 上传到 ECS 的根路径中,然后进行解压并手动安装到根路径中。tar zxf ldapscripts-2.0.8.tgz cd ldapscripts-2.0.8 make install PREFIX=/
配置
dapscripts
vim /etc/ldapscripts/ldapscripts.conf
a. 更换公网IP,将
SERVER="ldap://localhost"
改成SERVER="ldap://121.51.39.239"
b. 将SUFFIX="dc=example,dc=com"
改成SUFFIX="dc=codesweet,dc=com"
c. 将BINDDN="cn=Manager,dc=example,dc=com"
改成BINDDN="cn=admin,dc=codesweet,dc=com"
d. 去掉#ICONVCHAR="ISO-8859-15"
的注释修改
/etc/ldapscripts/ldapscripts.passwd
文件sh -c "echo -n '123456' > /etc/ldapscripts/ldapscripts.passwd"
管理group,user
这一节可以忽略,这是介绍如何在终端中配置ldap中的用户和组的,后面可以在web中创建。
- 创建group
ldapaddgroup openstack
- 创建用户
ldapadduser user1 openstack
- 设置用户密码
ldapsetpasswd user1
安装phpldapadmin
前面章节已经将ldap本地环境安装好,下面安装 web 界面 phpldapadmin
。
安装
phpldapadmin
yum install -y phpldapadmin
yum安装时,会自动安装apache和php的依赖。注意: phpldapadmin很多没更新了,只支持php5,如果你服务器的环境是php7,则会有问题,页面会有各种报错。 可以使用
php -v
来查看php版本。修改apache的phpldapadmin配置文件
vim /etc/httpd/conf.d/phpldapadmin.conf
修改
<IfModule mod_authz_core.c>
中的内容,放开外网访问,这里只改了 2.4 版本的配置,因为 centos7 默认安装的 apache 为 2.4 版本。所以只需要改 2.4 版本的配置就可以了. 如果不知道自己apache版本,执行rpm -qa|grep httpd
查看apache
版本。<IfModule mod_authz_core.c># Apache 2.4Require all granted</IfModule>
修改配置用DN登录ldap
vim /etc/phpldapadmin/config.php
a. 398行,默认是使用uid进行登录,我这里改为dn,也就是用户名
$servers->setValue('login','attr','dn');
b. 460行,关闭匿名登录,否则任何人都可以直接匿名登录查看所有人的信息
$servers->setValue('login','anon_bind',false);
c. 519行,设置用户属性的唯一性,这里我将cn,sn加上了,以确保用户名的唯一性
$servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));
启动apache
systemctl start httpd systemctl enable httpd
web 端登录LDAP
启动了apache服务后,采用dn登录方式登录 web 端LDAP。
在浏览器上访问: http://121.51.39.239/ldapadmin,然后使用上面定义的用户,进行登录,如下:
账户:cn=admin,dc=codesweet,dc=com 密码:123123
如下图:
3. 点击认证后,则成功登录:
搭建LDAP服务器详细流程相关推荐
- Linux服务器ldap启动,linux搭建ldap服务器详细步骤
ldap这种原始的服务器搭建起来比较复杂,同时它也是CE必考的(客户端的搭建). 1.安装openldap-servers软件包 2.查看ldap模板文件的存放位置: 3.拷贝ldap模板文件到配置文 ...
- centos下面搭建svn服务器详细流程
2019独角兽企业重金招聘Python工程师标准>>> 1.安装svn服务器 先使用svnserve --version命令查看有没有安装svn服务器. 可以看到已经安装了,如果没有 ...
- linux搭建ldap服务器详细步骤,linux环境搭建ldap服务器
首先保证linux正常联网 yum install openldap-servers -y 拷贝配置文件 cd /usr/share/openldap-servers/ cp slapd.conf.o ...
- ldap基本dn_2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程...
1. 什么是LDAP 1.1 什么是LDAP? 要想知道一个概念,最简单的办法就是wikipedia,当然也可以百科. LDAP全称是轻型目录访问协议(Lightweight Directory Ac ...
- 文件服务器 ldap,windows下搭建ldap服务器
windows下搭建ldap服务器 内容精选 换一换 当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致.如果您已经通过云监控服务创建过告警任 ...
- Windows7搭建FTP服务器详细教程
Windows7搭建FTP服务器详细教程 启用FTP功能 选择控制面板->程序->程序和功能->打开或关闭Windows功能->点开Internet信息服务,将其所有子项都选中 ...
- Linux搭建SVN服务器详细教程
前言 本文讲解Linux系统下如何搭建SVN服务器,详细说明各配置项的功能,最终实现可管控多个项目的复杂配置. SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统 ...
- Win10搭建FTP服务器详细教程-附操作截图
Win10搭建FTP服务器详细教程 1.设置电脑防火墙 1.打开"控制面板" →点击 "Windows Defender 防火墙" . 2.点击"允许 ...
- ubuntu18.04 搭建LDAP服务器
前言 LDAP(Lightweight Directory Access Protocol)是基于X.500标准的轻量级目录访问协议,在Unix操作系统里面,和NIS,DNS一样,属于名称服务(Nam ...
最新文章
- 传统企业应用转型--从0到1的微服务之路
- js 提交form表单,js更改form表单的action属性
- 如何限制某些用户发送Internet邮件
- Linux TCP 连接数修改
- oracle文字与格式字符串不匹配的解决
- jQuery选择器引擎和Sizzle介绍
- 【Java入门】package包
- SecureCRT登陆Centos 6.4乱码问题
- python的总结与心得词云设计理念_Python编程语言:使用词云来表示学习和工作报告的主题...
- 谈谈我对正向代理和反向代理的理解
- springboot集成redis_cluster两种方式
- 常见通信RF指标的内在和意义
- 接口文档编辑工具+接口文档编写
- 医学图像DICOM文件解析——DICOM内部信息详解篇
- 计算机桌面成英文怎样变成中文版,怎样把电脑语言设置成英文
- 晶晨905 2G+16G 与 1G+8G的内存占用对比
- Android 浅谈 Activity (下)
- 程序员为何找不到女朋友
- 红外遥控解码原理及代码实现
- cocos2d-x接入live2d3.0学习