一、介绍

LDAP 全称:Lightweight Directory Access Protocol,即“轻量级目录访问协议”。

LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握LDAP目录树这个概念了。就象DNS的主机名那样,LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取单个记录,以及回溯到树的顶部。

二、名词介绍

https://baike.baidu.com/item/LDAP#1_1

三、安装

环境:centos7

  1. yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
  2. systemctl start slapd
  3. systemctl enable slapd
  4.  
  5. #验证
  6. ss -lnt|grep 389

  

四、配置LDAP

  1. #1、设置LDAP管理员密码
  2. [root@admin~]#slappasswd -h {SSHA} -s ldppassword
  3. {SSHA}Vf9I/lXZ59i4S5A8ghqVHvLYvWVVNXNi
  4.  
  5. #2、配置OpenLDAP服务器
  6. ##OpenLDAP服务器配置文件位于 /etc/openldap/slapd.d/
  7. ##olcSuffix - 数据库后缀,它是LDAP服务器提供信息的域名。简单来说,它应该更改为您的域名。
  8. ##olcRootDN - 具有对LDAP执行所有管理活动的无限制访问权限的用户的根专有名称(DN)条目,如root用户。
  9. ##olcRootPW - 上述RootDN的LDAP管理员密码。
  10.  
  11. [root@admin~]#cd /etc/openldap/slapd.d/cn\=config/
  12.  
  13. #3、创建a.ldif文件
  14. [root@admincn=config]#vim a.ldif
  15. [root@admincn=config]#cat a.ldif
  16. dn: olcDatabase={2}hdb,cn=config
  17. changetype: modify
  18. replace: olcSuffix
  19. olcSuffix: dc=zhang,dc=com
  20.  
  21. dn: olcDatabase={2}hdb,cn=config
  22. changetype: modify
  23. replace: olcRootDN
  24. olcRootDN: cn=ldapadm,dc=zhang,dc=com
  25.  
  26. dn: olcDatabase={2}hdb,cn=config
  27. changetype: modify
  28. replace: olcRootPW
  29. olcRootPW: {SSHA}Vf9I/lXZ59i4S5A8ghqVHvLYvWVVNXNi #上面的管理员密码
  30.  
  31. #4、将配置发送到LDAP服务器
  32. [root@admincn=config]#ldapmodify -Y EXTERNAL -H ldapi:/// -f a.ldif
  33. SASL/EXTERNAL authentication started
  34. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  35. SASL SSF: 0
  36. modifying entry "olcDatabase={2}hdb,cn=config"
  37.  
  38. modifying entry "olcDatabase={2}hdb,cn=config"
  39.  
  40. modifying entry "olcDatabase={2}hdb,cn=config"
  41.  
  42. #5、编辑monitor.ldif文件
  43. [root@admincn=config]#vim monitor.ldif
  44. [root@admincn=config]#cat monitor.ldif
  45. angetype: modify
  46. replace: olcAccess
  47. olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=zhang,dc=com" read by * none
  48.  
  49. #6、将monitor.ldif配置发送到LDAP服务器。
  50. [root@admincn=config]#ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
  51. SASL/EXTERNAL authentication started
  52. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  53. SASL SSF: 0
  54.  
  55. #7、设置LDAP数据库
  56. #将示例数据库配置文件复制到/var/lib/ldap并更新文件权限
  57. [root@admincn=config]#\cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  58.  
  59. #8、添加cosine和nis LDAP模式。
  60. [root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
  61. SASL/EXTERNAL authentication started
  62. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  63. SASL SSF: 0
  64. adding new entry "cn=cosine,cn=schema,cn=config"
  65.  
  66. [root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
  67. SASL/EXTERNAL authentication started
  68. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  69. SASL SSF: 0
  70. adding new entry "cn=nis,cn=schema,cn=config"
  71.  
  72. [root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
  73. SASL/EXTERNAL authentication started
  74. SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  75. SASL SSF: 0
  76. adding new entry "cn=inetorgperson,cn=schema,cn=config"
  77.  
  78. #9、base.ldif为您的域生成文件
  79. [root@admincn=config]#vim base.ldif
  80. [root@admincn=config]#cat base.ldif
  81. dn: dc=zhang,dc=com
  82. dc: zhang
  83. objectClass: top
  84. objectClass: domain
  85.  
  86. dn: cn=ldapadm ,dc=zhang,dc=com
  87. objectClass: organizationalRole
  88. cn: ldapadm
  89. description: LDAP Manager
  90.  
  91. dn: ou=People,dc=zhang,dc=com
  92. objectClass: organizationalUnit
  93. ou: People
  94.  
  95. dn: ou=Group,dc=zhang,dc=com
  96. objectClass: organizationalUnit
  97. ou: Group
  98.  
  99. #10、构建目录结构(密码是adapadm的密码(ldppassword))
  100. [root@admincn=config]ldapadd -x -W -D "cn=ldapadm,dc=zhang,dc=com" -f base.ldif
  101. Enter LDAP Password:
  102. adding new entry "dc=zhang,dc=com"
  103.  
  104. adding new entry "cn=ldapadm ,dc=zhang,dc=com"
  105.  
  106. adding new entry "ou=People,dc=zhang,dc=com"
  107.  
  108. adding new entry "ou=Group,dc=zhang,dc=com"

  

五、创建LDAP用户(创建test用户)

  1. #1、创建test.ldif文件
  2. [root@admincn=config]#vim test.ldif
  3. [root@admincn=config]#cat test.ldif
  4. dn: uid=test,ou=People,dc=zhang,dc=com
  5. objectClass: top
  6. objectClass: account
  7. objectClass: posixAccount
  8. objectClass: shadowAccount
  9. cn: test
  10. uid: test
  11. uidNumber: 9999
  12. gidNumber: 100
  13. homeDirectory: /home/test
  14. loginShell: /bin/bash
  15. gecos: Raj [Admin (at) zhang]
  16. userPassword: {crypt}x
  17. shadowLastChange: 17058
  18. shadowMin: 0
  19. shadowMax: 99999
  20. shadowWarning: 7
  21.  
  22. #2、使用带有上述文件的ldapadd命令在OpenLDAP目录中创建名为“ test” 的新用户。
  23.  
  24. [root@admincn=config]#ldapadd -x -W -D "cn=ldapadm,dc=zhang,dc=com" -f test.ldif
  25. Enter LDAP Password: (密码是adapadm的密码(ldppassword))
  26. adding new entry "uid=test,ou=People,dc=zhang,dc=com"
  27.  
  28. #3、为用户分配密码。
  29. -s 指定用户名的密码
  30. -x 用户名,密码已更改
  31. -D 要对LDAP服务器进行身份验证的可分辨名称
  32.  
  33. [root@admincn=config]ldappasswd -s 123456 -W -D "cn=ldapadm,dc=zhang,dc=com" -x "uid=test,ou=People,dc=zhang,dc=com"
  34. Enter LDAP Password: 密码是adapadm的密码(ldppassword))
  35.  
  36. #4、验证LDAP条目
  37. [root@admincn=config]#ldapsearch -x cn=test -b dc=zhang,dc=com
  38.  
  39. #5、从LDAP中删除条目
  40. ldapdelete -W -D "cn=ldapadm,dc=zhang,dc=com" "uid=test,ou=People,dc=zhang,dc=com"

  

六、启用LDAP日志记录

  1. #1、配置Rsyslog以将LDAP事件记录到日志文件/var/log/ldap.log
  2. [root@admincn=config]#vim /etc/rsyslog.conf
  3. [root@admincn=config]#egrep ldap /etc/rsyslog.conf
  4. local4.* /var/log/ldap.log
  5. #2、重启rsyslog
  6. systemctl restart rsyslog

  

七、安装phpLDAPadmin

  1. #1、下载phpldapadmin和httpd
  2. yum install httpd php -y
  3. yum -y install phpldapadmin
  4.  
  5. #2、修改phpldapadmin配置文件
  6. [root@adminphpldapadmin]#tail -13 /usr/share/phpldapadmin/config/config.php
  7. */
  8. $servers = new Datastore();
  9. $servers->newServer('ldap_pla');
  10. $servers->setValue('server','name','My LDAP Server');
  11. $servers->setValue('server','host','0.0.0.0');
  12. $servers->setValue('server','port',389);
  13. $servers->setValue('server','base',array('dc=zhang,dc=com')); #修改为自己的域名
  14. $servers->setValue('login','auth_type','session');
  15. $servers->setValue('login','bind_id','cn=Manager,dc=zhang,dc=com'); #修改为自己的域名
  16. $servers->setValue('login','bind_pass','ldppassword'); #填入设定的根节点管理员密码
  17. $servers->setValue('server','tls',false);
  18.  
  19. ?>
  20.  
  21. #3、修改phpldapadmin的httpd的配置
  22.  
  23. [root@adminphpldapadmin]#cat /etc/httpd/conf.d/phpldapadmin.conf
  24. #
  25. # Web-based tool for managing LDAP servers
  26. #
  27.  
  28. Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
  29. Alias /ldapadmin /usr/share/phpldapadmin/htdocs
  30.  
  31. <Directory /usr/share/phpldapadmin/htdocs>
  32. <IfModule mod_authz_core.c>
  33. # Apache 2.4
  34. Require all granted
  35. </IfModule>
  36. <IfModule !mod_authz_core.c>
  37. # Apache 2.2
  38. Order Deny,Allow
  39. Deny from all
  40. Allow from 127.0.0.1
  41. Allow from ::1
  42. </IfModule>
  43. </Directory>

  

4、浏览器访问

5、登录(密码:ldppassword)

LDAP安装的更多相关文章

  1. (二) LDAP 安装

    LDAP 安装 参考:https://blog.51cto.com/bigboss/2341986

  2. LDAP安装配置(windows)

    目录 概述 测试环境 安装过程 配置启动 客户端介绍 多级DC的ldif文件的配置 [一].概述 什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台 ...

  3. 针对LDAP安装web接口,进行管理

    1. 通过SSH连接LDAP服务器 2. 安装phpLDAPadmin运行以下命令. $ sudo apt-get install phpldapadmin 3. 配置phpLDAPadmin. $ ...

  4. 【LDAP安装】在已编译安装的PHP环境下安装LDAP模块

    在已编译安装的PHP环境下安装LDAP模块 (乐维温馨提示:其他模块也能以这个方式安装) 1.在PHP源码包内找到ldap模块文件 cd php-5.6.37 cd ext/ldap/ 2.phpiz ...

  5. centos 7下ldap安装

    环境说明: 操作系统:CentOS Linux release 7.5.1804 (Core) LDAP:2.4.44 前提条件: 关闭防火墙.selinux,同时进行时钟同步. 其中XXX需要用域名 ...

  6. CentOS LDAP安装配置

    安装: Install the openldap, openldap-servers, and openldap-clients RPMs. Edit the /etc/openldap/slapd. ...

  7. LDAP第三天 MySQL+LDAP 安装

    https://www.easysoft.com/applications/openldap/back-sql-odbc.html      OpenLDAP 使用 SQLServer 和 Oracl ...

  8. ldap安装配置过程中遇到的错误,以及解决方法

    错误1: [root@openldap openldap]# ldapsearch -LLL-W -x -H ldap://etiantian.org -D "cn=admin,dc=eti ...

  9. ldap和phpldapadmin的安装部署

    LDAP 安装 一.安装LDAP 1. 安装包 yum install openssl-devel gcc libtool-ltdl-devel -y yum install openldap-ser ...

随机推荐

  1. MADP(移动应用开发平台)推动企业数字化转型

    移动互联网时代,企业对于移动应用程序的需求呈现爆炸式增长,移动解决方案供应商一直致力于寻找解决方案帮助企业完成这些移动集成需求,MADP(移动应用开发平台)因此产生,MADP允许提供一种解决方案,可以 ...

  2. dubbo配置文件解读(1)

    详细的Dubbo配置也可以参考:https://blog.csdn.net/abcde474524573/article/details/53026110 (1)<dubbo:service/& ...

  3. Django redis 应用

    一.自定义连接池 与python中使用连接池一样(使用单例对象) 注意:每个视图函数都要有 conn = redis.Redis(connection_pool=POOL) 二.使用第三方模块(dja ...

  4. 网站 cache control 最佳实践

    推荐阅读: 2020年软件开发趋势 高并发案例 - 库存超发问题 负载均衡的分类及算法 异地多活架构 Postman 的替代品来了 有时,当第二次访问网站时,看起来比较怪,样式不正常. 通常,是因为 ...

  5. Java入门 - 导读

    原文地址:http://www.work100.net/training/java 更多教程:光束云 - 免费课程 Java入门 Java 是由 Sun Microsystems 公司于1995年5月 ...

  6. SycSec成都信息工程大学2019CTF-前五道WEB题writeup

    一.WEB (1)一起来撸猫 flag藏在标签的注释内  <!--这是注释--> (2)你看见过我的菜刀么 eval漏洞 利用蚁剑连接 连接密码就是要post传的参数 连接成功后在网站根目 ...

  7. 【javaScript】js出现allocation size overflow以及字符串拼接优化

    字符串拼接长一点了,就出现了allocation size overflow异常! 先创建缓冲字符串数组,最后将数组转化为字符串 <script type="text/javascri ...

  8. hihoCoder 1387 A Research on "The Hundred Family Surnames"

    搬家一个月,庆祝一下 啪啪啪啪啪啪啪啪啪啪❀❀❀❀ 题目传送门 分析: 这什么奇奇怪怪的OJ,以前从来不知道的2333 以前只知道合并两个连通块时,其中一边直径端点为A,B,另一边为C,D D=max ...

  9. 团队项目—Beta版本冲刺3

    博客介绍 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience 这个作业要求在哪里 https://w ...

  10. [集训]Evocation

    题意 一颗有根树,每个点有黑白两种颜色和阀值ai,若它的子树中(不包括自己)的黑色数量大于ai,则产生一点贡献.每次将一个点的颜色取反,求每次修改后的贡献.n,q<=1E5. 思考 树剖后直接分 ...