LDAP 安装

一、安装LDAP

1. 安装包

yum install openssl-devel gcc libtool-ltdl-devel -y
yum install openldap-servers openldap-clients -y [root@master ldap]# id ldap # 默认安装完成后默认创建
uid=55(ldap) gid=55(ldap) 组=55(ldap)

2.拷贝数据库配置文件

 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
[root@master ldap]# cat /var/lib/ldap/DB_CONFIG |grep -v "^#"|grep -v "^$"
set_cachesize 0 268435456 1
set_lg_regionmax 262144
set_lg_bsize 2097152

3. 启动OpenLDAP Server

[root@master ldap]# service slapd start
正在启动 slapd: [确定]

4. 查看监听端口

[root@master ldap_ldif]# ss -ntl|grep 389
LISTEN 0 128 :::389 :::*
LISTEN 0 128 *:389 *:*

二、设置ldap管理员(root)密码

1.生成一个LDAP管理用户root密码

[root@master ldap_ldif]# slappasswd
New password: # 我这里输入的是 123456
Re-enter new password:
{SSHA}mqDbkQdCLjLLai6jkXiuS3IFjoV0q7XQ # 这个字符串就是根据你输入的密码得到的,一会我们会用到他。

2.自定义LDAP配置属性

[root@master ldap_ldif]# cat password.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8 以上配置文件关键参数说明:
ldif即LDAP Data Interchange Format,是LDAP中数据交换的一种文件格式。文件内容采用的是key-value形式,注意value后面不能有空格。
上面内容中dn即distingush name
olc即Online Configuration 表示写入LDAP后不需要重启即可生效
changetype: modify 表示修改一个entry,changetype的值可以是add,delete, modify等。
add: olcRootPW 表示对这个entry新增了一个olcRootPW的属性
olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8 指定了属性值

3.初始化LDAP配置

#使用 ldapadd 命令讲我们上一步自定义的文件属性写入LADP中
[root@master ldap_ldif]# ldapadd -Y EXTERNAL -H ldapi:/// -f password.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"

4.导入schema

将全部的schema都导入到ldap中
ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

三.设定默认域

1. 先使用slappasswd生成一个密码

我这里输入的是 123456  这个密码用来作为管理员密码,可以与上面的密码不一致
[root@master ldap_ldif]# slappasswd
New password:
Re-enter new password:
{SSHA}mqDbkQdCLjLLai6jkXiuS3IFjoV0q7XQ

2.自定义LDAP配置属性

[root@master ldap_ldif]# cat domain.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=suixingpay,dc=com" read by * none dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=suixingpay,dc=com dn: olcDatabase={2}bdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=suixingpay,dc=com dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}51JBhgYyPdBnAy8/UbVwMtWzPR4hz/R8 dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=suixingpay,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=suixingpay,dc=com" write by * read

3.使用咱们上一步自定义的ldif配置文件,写入ldap服务器

[root@master ldap_ldif]# ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}monitor,cn=config" modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
ldap_modify: Inappropriate matching (18)
additional info: modify/add: olcRootPW: no equality matching rule

四、添加基本目录

1.自定义LDAP配置属性

[root@master ldap_ldif]# cat basedomain.ldif
dn: dc=suixingpay,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: suixingpay com
dc: suixingpay dn: cn=Manager,dc=suixingpay,dc=com
objectClass: organizationalRole
cn: Manager
description: Directory Manager dn: ou=People,dc=suixingpay,dc=com
objectClass: organizationalUnit
ou: People dn: ou=Group,dc=suixingpay,dc=com
objectClass: organizationalUnit
ou: Group

2.使用咱们上一步自定义的ldif配置文件,写入ldap服务器

这个位置输入的密码为 三、设定默认域 中设置的密码
[root@master ldap_ldif]# ldapadd -x -D cn=Manager,dc=suixingpay,dc=com -W -f basedomain.ldif
Enter LDAP Password:
adding new entry "dc=suixingpay,dc=com"

3.测试是否成功

[root@master ldap_ldif]#  ldapsearch -LLL -W -x -D "cn=Manager,dc=suixingpay,dc=com" -H ldap://localhost -b  "dc=suixingpay,dc=com"
Enter LDAP Password:
dn: dc=suixingpay,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: suixingpay com
dc: suixingpay

phpLDAPadmin

1. 安装依赖包

yum install httpd php php-bcmath php-gd php-mbstring php-xml php-ldap -y
yum install phpldapadmin -y

2. 设置httpd配置

yum 安装完phpldapadmin 后会默认在 /etc/httpd/conf.d 加入
[root@master conf.d]# cat phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/16 # 这个需要开放网段访问
</IfModule>
</Directory>

3. 设置phpldapadmin

[root@master config]# pwd
/usr/share/phpldapadmin/config
[root@master config]# cat config.php
<?php
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','LDAP Server');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=suixingpay,dc=com'));
$servers->setValue('login','auth_type','cookie');
$servers->setValue('login','bind_id','cn=Manager,dc=suixingpay,dc=com');
$servers->setValue('login','bind_pass','123456');
$servers->setValue('server','tls',false);
?>

4. 启动httpd

service httpd start

5.测试

访问地址: http://192.168.13.133:8080/phpldapadmin

ldap和phpldapadmin的安装部署的更多相关文章

  1. 完整的 LDAP + phpLDAPadmin安装部署流程 (ubuntu18.04)

    LDAP 安装部署以及基础使用 因工作需求需要使用ldap管理用户权限,在踩了一系列坑之后,总结了一些流畅的文档,希望可以帮到和曾经的我一样迷茫的人. 基础环境:Ubuntu 18.04 一.安装 r ...

  2. OpenStack Keystone安装部署流程

    之前介绍了OpenStack Swift的安装部署,采用的都是tempauth认证模式,今天就来介绍一个新的组件,名为Keystone. 1. 简介 本文将详细描述Keystone的安装部署流程,并给 ...

  3. 持续集成①安装部署jenkins从git获取代码

    持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...

  4. CentOS7.4安装部署openstack [Liberty版] (一)

    一.OpenStack简介 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个 ...

  5. 【CentOS】安装部署jenkins从git获取代码[转]

    持续集成①安装部署jenkins从git获取代码 一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部 ...

  6. Cobbler自动化安装部署系统

    自动化安装部署 https://www.cnblogs.com/nulige/p/6796593.html PXE+Kickstart工作原理 pxe+kickstart工作流程 网卡上的pxe芯片有 ...

  7. 架构实战项目心得(九):后台服务工具ldap:统一用户中心ldap工具使用以及安装

    一.安装OpenLDAP 1.安装 yum -y install openldapopenldap-servers openldap-clients openldap-devel compat-ope ...

  8. Ranger安装部署

    1. 概述 Apache Ranger是大数据领域的一个集中式安全管理框架,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理.用户可以通过Ranger实现对集群中数据的安全 ...

  9. Apache Ranger 编译安装部署

    1. 概述 Apache Ranger是大数据领域的一个集中式安全管理框架,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理.用户可以通过Ranger实现对集群中数据的安全 ...

随机推荐

  1. 图记 2016.1.7 获取本地图片、Bitmap转image

    这几天完成的内容有: 1.“添加图片”按钮 2.添加图片功能 遇到的问题: 我想要将添加图片按钮放在右下角,所以采用了相对布局,但是问题随之二来,因为将导航栏设置成了半透明,所以图片放到右下角之后,半 ...

  2. Kali Linux 2019.4发布了!解决Kali Linux 2019.4中文乱码问题

    2019年11月26日,kali Linux官网发布了Kali Linux 2019.4发行版,此版本做了很大的改动,界面焕然一新. Kali Linux 2019.4涉及到的一些新更新内容包括: 新 ...

  3. Mysql中innodb和myisam

    innodb和myisam两种存储引擎的区别 1.事务和外键 1)InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID.如果应用中需要执行大量的INSER ...

  4. 离线安装docker(RedHat7.4)

    离线安装docker(RedHat7.4) docker 1. 下载地址 2. 解压并注册为service 1. 下载地址 官网下载地址:下载 官网文档地址:文档 2. 解压并注册为service 下 ...

  5. 2013.9.3 - OpenNER第十一天

    下午接受了天猫某高管的交叉面试,在图书馆电面的,感觉面的不怎么好,他先问了我飞天的情况,还有我做了什么,他感觉和我聊不到一起去,我感觉应该是下午在地下铁喝的那杯咖啡让我慌了神,后来他又问了大数组抽取最 ...

  6. node基础学习——操作文件系统fs

    操作文件系统fs 1.在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除.在fs模块中,所有对文件及目录的操作都可以使用同步与异步两种方法,具有Sync后缀的方法均为同步方法. ...

  7. CVE-2019-10392:Jenkins Git client插件RCE复现

    0x00 简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 0x01 漏洞概述 Git客 ...

  8. [AI] 论文笔记 - U-Net 简单而又接近本质的分割网络

    越简单越接近本质. 参考资料 U-Net: Convolutional Networks for Biomedical Image Segmentation Abstract & Introd ...

  9. Django设置应用名与模型名为中文

    修改polls包里面的apps.py: from django.apps import AppConfig class PollsConfig(AppConfig): name = 'polls' v ...

  10. Vue 路由守卫解决页面退出和弹窗的显示冲突

    在使用UI框架提供的弹出层Popup时,如Vant UI的popup,在弹出层显示时,点击物理按键或者小程序自带的返回时,会直接退出页面,这明显不符合页面逻辑. 解决思路: 在弹出层显示时,点击了返回 ...