[关闭]
@zhangyy 2021-11-09T13:15:20.000000Z 字数 4083 阅读 213

CentOS7.x 安装 openldap 服务

运维系列


一: 安装openladp 配置

1.1:系统环境介绍

  1. 环境
  2. 系统版本:centos7.4
  3. openldap版本2.4
  4. 安装和配置
  5. 安装并启动服务

1.2 安装openldap服务

  1. yum install openldap openldap-servers openldap-clients

  1. 拷贝数据库配置文件
  2. cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  3. chown ldap:ldap /var/lib/ldap/DB_CONFIG

image_1fk15abre9enas41l9019h6nm9.png-144.8kB


  1. DB_CONIFG中主要是关于Berkeley DB的相关的一些配置
  2. 启动OpenLDAP Server:
  3. systemctl start slapd
  4. systemctl enable slapd
  5. systemctl status slapd
  6. slapdstandard alone ldap daemon,该进程默认监听389端口

image_1fk15bruo1dfe1ft270n144r132jm.png-269.8kB


1.3 配置openldap服务

  1. 设置root用户密码
  2. 先用一个命令生成一个LDAP管理用户root密码:
  3. slappasswd -s 123456
  4. New password:
  5. Re-enter new password:
  6. {SSHA}eNZrBtwRRsUg03i5cmGATh3ZnDNfm3Od #记住这个,下面会用到
  7. ----
  8. {SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo
  9. ----

image_1fk15dqi2m3r1mhe1ck8q7416om23.png-72.4kB


  1. 新建一个rootpwd.ldif(名称是自定义的)的文件:/root/ldif
  2. mkdir -p /root/ldif
  3. cd /root/ldif
  4. vim rootpwd.ldif
  5. ---
  6. dn: olcDatabase={0}config,cn=config
  7. changetype: modify
  8. add: olcRootPW
  9. olcRootPW: {SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo
  10. ----
  11. 1) ldifLDAP Data InterchangeFormat,是LDAP中数据交换的一种文件格式。文件内容采用的是key-value形式,注意value后面不能有空格。
  12. 2)上面内容中dndistingush name
  13. 3)olcOnline Configuration,表示写入LDAP后不需要重启即可生效
  14. changetype: modify表示修改一个entrychangetype的值可以是add,delete, modify等。
  15. 4)add: olcRootPW表示对这个entry新增了一个olcRootPW的属性
  16. olcRootPW: {SSHA}eNZrBtwRRsUg03i5cmGATh3ZnDNfm3Od指定了属性值

  1. 下面使用ldapadd命令将上面的rootpwd.ldif文件写入LDAP:
  2. ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif

image_1fk15ls1g11i8sa28dr1fs29ch2g.png-72.6kB

  1. 导入schema
  2. 导入schemaschema包含为了支持特殊场景相关的属性,可根据选择导入,这里先全部导入:
  3. ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

image_1fk15nbds56g1l2e1mda10v11cnu2t.png-190.3kB


1.4 导入domain

  1. 新建一个domain.ldif的文件:
  2. vim domain.ldif
  3. ----
  4. dn: olcDatabase={1}monitor,cn=config
  5. changetype: modify
  6. replace: olcAccess
  7. olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=admin,dc=flyfish,dc=com" read by * none
  8. dn: olcDatabase={2}hdb,cn=config
  9. changetype: modify
  10. replace: olcSuffix
  11. olcSuffix: dc=flyfish,dc=com
  12. dn: olcDatabase={2}hdb,cn=config
  13. changetype: modify
  14. replace: olcRootDN
  15. olcRootDN: cn=admin,dc=flyfish,dc=com
  16. #这个是admin的密码设置/如果要修改密码把这段拿出来 add改成replace,然后执行 ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif
  17. dn: olcDatabase={2}hdb,cn=config
  18. changetype: modify
  19. add: olcRootPW
  20. olcRootPW: {SSHA}PFp8AcylmONN4ZWtfZ/dPvdfkY/a5JUo
  21. dn: olcDatabase={2}hdb,cn=config
  22. changetype: modify
  23. add: olcAccess
  24. olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=flyfish,dc=com" write by anonymous auth by self write by * none
  25. olcAccess: {1}to dn.base="" by * read
  26. olcAccess: {2}to * by dn="cn=admin,dc=flyfish,dc=com" write by * read
  27. ----

image_1fk165nkv1n1019dbbg9qriot63a.png-144.4kB


1.5 添加条目

  1. 添加基本目录
  2. 新建一个basedomain.ldif的文件:
  3. vim basedomain.ldif
  4. ----
  5. 注意替换上面文件内容中dn为具体的域信息理解dn,cn,dc
  6. DCDomain ComponentLDAP目录类似文件系统目录dc=flyfish,dc=com相当于/com/
  7. flyfish
  8. CNCommon NameCN有可能代表一个用户名,例如cn=Manager,dc=flyfish,dc=com表示在/com/flyfish域下的管理员用户Manager
  9. OUOrganizational Unit,例如ou=People,dc=flyfish,dc=com表示在/com/flyfish域下的一个组织单元People
  10. 写入:
  11. ldapadd -x -D cn=admin,dc=flyfish,dc=com -W -f basedomain.ldif

image_1fk1743i61a0t1b9711bg9e31c3v3n.png-114.2kB

  1. 测试:
  2. ldapsearch -LLL -W -x -D "cn=admin,dc=flyfish,dc=com" -H ldap:/// -b "dc=flyfish,dc=com"

image_1fk18esfoorcqi21jtm8bf1s6m86.png-140.8kB


二:ldap 客户端工具连接

2.1 ldapadmin windows 客户端工具连接

  1. ldap 客户端链接:
  2. 管理工具
  3. 可以在局域网内的windows电脑上下载ldapadmin作为管理工具 下载地址: http://www.ldapadmin.org/download/ldapadmin.html

image_1fk19r3jhch249t9001gpc1rme9j.png-189.1kB

image_1fk19rosf88lh7511ve13po1vrka0.png-363.6kB

image_1fk19sh3r138st854r6mg5lvaat.png-136.7kB


2.2 phpldapadmin 配置部署

  1. phpldapadmin 配置:
  2. 一、phpldapadmin安装
  3. 1、安装Apache PHP
  4. yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
  5. php需使用5版本,phpldapadmin是基于php5开发,若使用其他php版本,会出现兼容性支持问题,如password_hash问题

  1. 2、修改httpd访问端口
  2. # vim /etc/httpd/conf/httpd.conf
  3. Listen 80
  4. 修改为
  5. Listen 58100
  6. 如果主机已经启用 80 端口要改端口如果没有启用就默认用80 不用改

  1. 安装phpldapadmin
  2. # wget https://nchc.dl.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.tgz
  3. tar -zxvf phpldapadmin-1.2.3.tgz
  4. mv phpldapadmin-1.2.3 /var/www/html/phpldapadmin
  5. 编辑config.php
  6. cd /var/www/html/phpldapadmin/config
  7. cp -p config.php.example config.php
  8. vim config.php
  9. ---
  10. 修改:
  11. $servers->newServer('ldap_pla');
  12. $servers->setValue('server','name','My LDAP Server');
  13. $servers->setValue('server','host','192.168.100.14');
  14. $servers->setValue('server','port',389);
  15. $servers->setValue('server','base',array('dc=flyfish,dc=com'));
  16. $servers->setValue('login','auth_type','session');
  17. $servers->setValue('login','bind_id','cn=admin,dc=flyfish,dc=com');
  18. $servers->setValue('login','bind_pass','123456');
  19. ---
  20. serivce httpd restart

image_1fk1adfoe1gin1log1vimjkbjh1bq.png-94.6kB

image_1fk1b81t4qbi15pt1hpo4tbr28c7.png-50.2kB

  1. 打开web页面:
  2. http://192.168.100.14/phpldapadmin

image_1fk1bbh4v1707fbb1k761vh661qej.png-361.7kB

image_1fk1bcmre17h5oan1i731h5v1uqlg0.png-307.2kB

image_1fk1hm02gts2kudtr5jk1plggd.png-531.3kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注