LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理。下面我们就一起来配置openldap服务。本文运行环境:CentOS 5。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
软件需求:
db-4.7.25.tar.gz(http://www.oracle.com/technology/global/cn/software/products/berkeley-db/index.html)
openldap-stable-20090411.tgz
(http://www.openldap.org/software/download/)
phpldapadmin-0.9.8.5.tar.gz (http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page)
另外,运行phpldapadmin需要apache和php的支持,有关apache和php的安装,大家可以参考我的另一篇文章:Linux服务器部署系列之一—Apache篇(http://guoxuemin.blog.51cto.com/379574/168534)

 

1. 安装openldap
1)安装BerkeleyDB
# tar  zxvf  db-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />4.7.25.tar.gz
# cd  db-4.7.25/build_unix
# ../dist/configure
# make
# make  install
# vi  /etc/ld.so.conf
加入一下语句:
/usr/local/BerkeleyDB.4.7/lib
# /sbin/ldconfig
2)安装openldap
# tar  zxvf  openldap-stable-20090411.tgz
# cd  openldap-2.4.16
# env  CPPFLAGS=”-I/usr/local/BerkeleyDB.4.7/include”  LDFLAGS=”-L/usr/local/BerkeleyDB.4.7/lib”  ./configure  --prefix=/usr/local/openldap  --enable-ldbm
# make depend
# make
# make install
3)检查安装结果
安装好后,系统会自动生成一些.schema文件,我们可以使用命令:# ll  /usr/local/openldap/etc/openldap/schema/*.schema来查看,如下图:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2. 配置openldap
openldap的配置文件主要为slapd.conf和ldap.conf,手动安装的话,存放在/usr/local/openldap/etc/openldap下面,如下图:
1)配置slapd.conf文件
主要需要修改的地方有两个,一个是将所有./schema添加进来(默认只有include  /usr/local/openldap/etc/openldap/schema/core.schema这条记录),如下图:
另一个地方是下图所示,将suffix项改成自己的目录后缀;设置rootdn,注意这里设置的root管理员是管理openldap的,跟linux系统的root管理员不是一样的。
2)启动openldap
使用以下命令启动openldap:
# /usr/local/openldap/libexec/slapd
3)加密管理员密码
 使用命令slappasswd修改管理员密码,默认的管理员密码是明文形式的,使用slappasswd修改后将以加密的方式保存。
4)修改客户端配置文档
如下图,修改红色框处,设置目录起点。
5)录入信息
一般信息录入的方式有三种:手工录入,使用.ldif文件格式录入,使用脚本录入。这里我们选用比较方便的那种——使用.ldif文件格式录入。
首先使用vi  init.ldif命令建立一个init.ldif文件,内容如下:
然后用命令/usr/local/openldap/bin/ldapadd  -x  -W  -D  “cn=root,dc=guoxuemin,dc=cn”  -f  init.ldif将内容导入,如下图:
3. 配置openldapadmin
1)安装openldapadmin
# tar  zxvf  phpldapadmin-0.9.8.5.tar.gz
# mv  phpldapadmin-0.9.8.5  /usr/local/phpldapadmin
openldapadmin的安装很简单,只需要解压,然后移动到相应的目录就可以了。
2)配置http.conf文件
# vi  /usr/local/apache/conf/httpd.conf
增加上图所示的内容,上述内容的作用是建立虚拟目录并设置用户认证。
设置用户admin的密码,如下图:
3)配置phpldapadmin
默认情况下phpldapadmin自带了一个示例配置文件config.php.example,我们可以对改文件稍做修改,就可以使用了。
# cd  /usr/local/phpldapadmin/config
# cp  config.php.example  config.php
# vi  config.php
将274行的/*移动到283行,然后修改276-282行的参数,具体如下:
然后屏蔽以下行的内容,如下图:
另外,还有两项需要修改的,如下图:
保存配置文件,并重启Apache服务,就可以使用浏览器输入:http://IP地址或计算机名/phpldapadmin/进行访问了。如下图:
注意,要使用phpldapadmin,需要有gettext包的支持,在php编译时还需要将ldap也编译进去,否则,会出现下图所示错误信息:
如果出现类似信息,那么只需要安装gettext包,并对php重新编译安装就可以了,
gettext包的安装:
# tar  zxvf  gettext-0.16.1.tar.gz
# cd  gettext-0.16.1
# ./configure  --prefix=/usr/local/gettext
# make
# make  install
对php的编译如下图:
4phpldapadmin应用
点击左面板的login,我们可以通过openldap管理员root登录,如下图:
登录进去后,可以看到openldap的操作界面,左面板上跟windows的AD一样有ou,有用户信息。
如果我们要建立用户信息,可以点击左面板上的“Create new entry here”,然后根据需要在右面板上选择帐户类型,根据向导一步步建立。图形化的操作界面大家都很熟悉了,这里我就不再一一介绍。
当然我们也还可以通过ldif的方式导入,点击左面板上的import可以导入ldif文件。点击左面板上的export可以将现有数据导出为ldif文件。
4. 配置ldap日志
修改ldap配置文件slapd.conf,增加一项loglevel 1,如下图:
# vi  /usr/local/openldap/etc/openldap/slapd.conf
然后修改系统日志配置文件:
# vi  /etc/syslog.conf
增加以下行:
local4.*  /usr/local/openldap/var/log/ldap.log
使用命令service syslog restart重启syslog,系统就会自动生成日志文件ldap.log了。
OK,现在已经设置好了,我们可以通过目录的形式管理帐户信息了,不过,这个服务是免费的,所以功能上相对于windows的AD还是要弱一些。
本文仅讲述了openldap的安装和基本配置,对于openldap的高级应用将会在后续的文章中讲述,谢谢大家的关注。
本文出自 “郭学敏De博

转载于:https://blog.51cto.com/wwwjjj/186782

Linux——LDAP(相当于Windows下的AD)相关推荐

  1. U盘刻录linux系统后在windows下无法识别完整容量

    U盘刻录linux系统后在windows下无法识别完整容量 问题描述: 将linux系统刻录进U盘,会导致原本比如16G的U盘在windows上只能显示2m左右的容量. 这实际上是因为windows系 ...

  2. cygwin学习linux命令,cygwin 在windows下使用linux命令的方法

    cygwin 在windows下使用linux命令的方法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 但是cygwin ...

  3. 怎么把linux虚拟机硬盘扩容,Windows下虚拟机Linux(CentOS8)扩容设置 - 磁盘扩容中的坑和解决方法...

    摘要:[原创]转载请注明作者Johnthegreat和本文链接 由于虚拟机空间不足,为了避免重装虚拟机,做了一次无损扩容. 过程中的报错如下: 为了详细记录,这里将整个过程详述如下: 一.问题和需求 ...

  4. linux c++开发_Linux/Windows下进行C/C++开发的差异

    1. 平台差异简介 Windows 和Unix是当前两大主流操作系统平台,基于C/C++的开发人员经常会面临这两个平台之间的移植的问题.Unix作为一个开发式的系统,其下有出现了很 多个分支,包括Su ...

  5. 巧用Linux 命令来拆分Windows下的大文件

    背景: 今天在处理SQL Server一个同步链的问题,源头目的端比较数据,最后产生了一个300MB的文件,在windows下根本没办法打开.而且就算可以打开,也需要在每1000条命令后,等待10秒钟 ...

  6. linux 解压 windows zip,Linux如何下解压windows下的.zip和.rar文件

    Linux自带的unzip命令可以解压windows下的zip格式的压缩文件. 如何unzip没安装,可以yum 安装下: yum -y install unzip unzip命令 语法:unzip ...

  7. linux node gyp 编译,windows下安装node-gyp

    什么是node-gyp? gyp是一种根据c++源代码编译的工具,node-gyp就是为node编译c++扩展的时候使用的编译工具. 最近在研究native script需要使用到node-gyp,遇 ...

  8. linux aaa认证服务器,Windows下AAA服务器的搭建及身份认证!

    一 .Linux下的配置: 1.配ip [Quidway]int Vlan-interface 1 [Quidway-Vlan-interface1]ip add 192.168.101.28 255 ...

  9. linux查看目录文件系统,ubuntu linux 文件系统目录结构-Windows下查看电脑信息的命令-linux菜鸟也必须知道的几个ubuntu最基础命令_169IT.COM...

    1:sudo   应该是linux中最常用的命令之一了,因为你即便不是root用户,也能暂时的部分的获得root权限,例如安装卸载,更改各种服务的配置,等等,所以记住这个 2:apt-get : ap ...

最新文章

  1. [开发工具]JBuilder2008已经发布
  2. Redis持久化机制 -全量同步与增量同步的区别
  3. 分析了这么多年的福利彩票记录,原来可以用Python这么买彩票!
  4. 视觉注意力机制(上)
  5. Citrix XenApp应用虚拟化之RTX串号问题解决
  6. 图像傅里叶变换的频率怎么理解?【转载】
  7. 水经注叠加cad_如何下载等高线并在CAD中与卫星影像叠加
  8. 从 CVE-2020-1048 到 CVE-2020-17001:Windows打印机模块中多个提权漏洞分析
  9. Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段
  10. 【java】窗口和流的应用
  11. 【java学习之路】(mysql篇)001.mysql基本介绍、常用命令及简单查询
  12. php 完全前后端分离使用jwt,larke-admin 是一套使用 Laravel 8 、JWT 和 RBAC鉴权的前后端分离的通用后台管理系统...
  13. Elasticsearch 实现自定义排序插件(转载)
  14. RaiDrive通过WebDAV挂载阿里云盘
  15. JavaScript常用算法 1
  16. 软件基本功:linux/windows的头文件互相包含,大哥你这是什么创新?
  17. Excel分段线性插值函数实现
  18. 「Photoshop2021入门教程」新功能——快速操作
  19. ZYNQ学习笔记_GPIO实例:通过EMIO实现按键控制LED
  20. Newman(一)之Windows下Newman的安装与使用

热门文章

  1. 学习就是这样一条时而郁郁寡欢,时而开怀大笑的路
  2. USB2.0挂载FatFs文件系统
  3. 时间戳转换为日期格式(天,小时,分,秒)
  4. 【SpringBoot学习】5、SpringBoot 实现文件上传,图片上传并显示功能
  5. FPGA中利用ICAP原语实现Multiboot功能-总结篇
  6. ProM开发指北2——环境设置
  7. anaconda3 mysql_Win10+Anaconda3+Eclipse+Django+MySQL 配置Python的Web开发环境
  8. 项目管理之产品交付1
  9. c语言中的字母占位符,C语言专题-基本数据类和占位符
  10. 软考-信息安全工程师(汇总1000题)