ladp服务搭建

用户名:cn=admin,dc=test,dc=com 密码:123456

1)软件安装
yum install openldap openldap-clients openldap-servers -y
2)配置 OpenLDAP Server
vim /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
将 cn=Manager,dc=my-domain,dc=com改为你自己的,内容可以随便,但是所有地方都要一致 cn=admin,dc=test,dc=com

vim /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
将 olcSuffix: dc=my-domain,dc=com olcRootDN: cn=Manager,dc=my-domain,dc=com改为 olcSuffix: dc=test,dc=com olcRootDN: cn=admin,dc=test,dc=com

然后在末尾添加一行 此处设置的是 认证密码
olcRootPW: 123456

1.拷贝 DB 文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
//修改该文件的权限
chown -R ldap:ldap /var/lib/ldap/
2.测试配置文件是否正确
slaptest -u
3.启动服务
systemctl start slapd
systemctl enable slapd
4.添加 scheme 表 [ 重要 ]
否则,后面使用 ldapaddgroup 命令会报错 Error adding group test to LDAP

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

3)创建 base.ldif 文件
1.创建如下文件,内容按照自己的配置修改
vim base.ldif
2.拷贝如下内容到创建的 base.ldif 文件
其中的 my-domain 和前面的步骤统一,如果一开始你是设置其他名称,则此处的 my-domain 更换成你的名称,保持统一即可。
dn: dc=my-domain,dc=com
objectClass: dcObject
objectClass: organization
o: my-domain.com
dc: my-domain

dn: ou=users,dc=my-domain,dc=com
objectClass: organizationalUnit
objectClass: top
ou: users

dn: ou=groups,dc=com,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups
3.建立最基础的目录结构
ldapadd -x -W -D "cn=admin,dc=test,dc=com" -f base.ldif
4.验证基础目录是否创建成功
vim /etc/openldap/ldap.conf
添加如下行信息
BASE dc=test,dc=com
URI ldap://192.168.31.156 ldap://192.168.31.156:666 根据实际云服务器的IP填写

4)管理用户与组
1. 安装依赖包 yum install sharutils
yum install sharutils -y
2.手动安装资源包 Ldapscripts
在centos中无法通过 yum install 安装,需要下载后手动安装。
链接:https://pan.baidu.com/s/1KspZJGBzjXt0QIm3ITE2QQ?pwd=xofo 提取码:xofo
下载后放置目录/opt下
cd /opt
tar xzvf ldapscripts-2.0.8.tgz
cd ldapscripts-2.0.8 && make install PREFIX=/
3. 配置 ldapscripts
vim /etc/ldapscripts/ldapscripts.conf
3.1 将 SERVER="ldap://localhost" 改成 SERVER="ldap://192.168.31.156"
3.2 将 SUFFIX="dc=example,dc=com" 改成 SUFFIX="dc=test,dc=com"
3.3 将 BINDDN="cn=Manager,dc=example,dc=com" 改成 BINDDN="cn=admin,dc=test,dc=com"
3.4 去掉 #ICONVCHAR="ISO-8859-15" 的注释
4. 修改 /etc/ldapscripts/ldapscripts.passwd 文件
sh -c "echo -n '123456' > /etc/ldapscripts/ldapscripts.passwd"

5)管理 Group,User
// 创建 Group
ldapaddgroup it
// 创建 User
ldapadduser zhongyi it
// 设置用户密码
ldapsetpasswd zhongyi

6)基于 PHPLDAPAdmin 访问管理后台
LDAP 装好后,下面安装 Web 界面 PHPLDAPAdmin。
1.安装 Apache 和 PHP
yum install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml -y
2.安装 PHPLDAPAdmin
# 需要先安装 epel 源
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin
3.配置 HTTPD
vim /etc/httpd/conf/httpd.conf
AllowOverride All // 第 151 行
DirectoryIndex index.html index.cgi index.php // 第 164 行
# 末尾添加如下几行
# server's response header
ServerTokens Prod
# keepalive is ON
KeepAlive On
4.配置 PHPLDAPAdmin,修改登入规则和监听端口
vim /etc/phpldapadmin/config.php
# 397 行取消注释, 398 行添加注释 [设置通过 DN 整个条目来登入 PHPLDAPAdmin 而不是通过用户的 UID 来登入 ]
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');
# [ 如果 LDAP 服务安装和 PHPLDAPAdmin 服务安装不在同一个服务器上 ]
# 则修改 298 和 301 行, 修改 PHPLDAPAdmin 监听的 IP 和端口, 并取消注释
# [ 如果 LDAP 服务和 PHPLDAPAdmin 服务在同一台服务器上 ]
# 且 LDAP 的端口为 389, 则可不修改, 直接取消注释即可
/* Examples:
'ldap.example.com',
'ldaps://ldap.example.com/',
'ldapi://%2fusr%local%2fvar%2frun%2fldapi'
(Unix socket at /usr/local/var/run/ldap) */
$servers->setValue('server','host','127.0.0.1');
#460行,关闭匿名登录,否则任何人都可以直接匿名登录查看所有人的信息
$servers->setValue('login','anon_bind',false);
5.配置 PHPLDAPAdmin
修改 PHPLDAPAdmin 的配置文件,访问控制权限 vim
/etc/httpd/conf.d/phpldapadmin.conf,允许谁访问添加访问的 IP 段,允许远程客户端访问。
vim /etc/httpd/conf.d/phpldapadmin.conf
# Apache 2.4 # Apache版本是 2.4 的修改这里的配置
Require local
Require ip 192.168.31.0/24 # 修改
6.启动 PHPLDAPAdmin
systemctl enable httpd
systemctl start httpd
7.Web 浏览器访问网址
使用数据库管理账户登入 PHPLDAPAdmin,如果登入成功,则表示配置成功。
192.168.31.156/ldapadmin/
用户名:cn=admin,dc=test,dc=com 密码:123456

centos7LDAP服务搭建的更多相关文章

  1. ServiceStack.Hello——跨平台.net REST api服务搭建

    ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...

  2. WCFRESTFul服务搭建及实现增删改查

    WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格,  RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...

  3. 微信小程序语音识别服务搭建全过程解析(项目开源在github)

    silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...

  4. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  5. Git服务搭建及github使用教程

    .pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...

  6. eureka服务搭建

    Server端 引入eureka server的maven依赖 引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka ser ...

  7. NodeJs之服务搭建与数据库连接

    NodeJs之服务搭建与数据库连接 一,介绍与需求分析 1.1,介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻 ...

  8. JumpServer1.0 服务搭建

    JumpServer1.0 服务搭建 系统环境配置 setenforce 0 systemctl stop iptables.service systemctl stop firewalld.serv ...

  9. Linux-ftp服务搭建

    云服务器ESC 部署vsftpd服务 记一次ftp服务搭建的采坑过程,这个坑一直卡了很久时间,都给忘记了.最近由于公司项目需要部署FTP,经过各种采坑,终于把这个坑给填上了.废话不多说,开干 环境说明 ...

  10. windows服务器基本管理及服务搭建

    windows服务器基本管理及服务搭建 ****windows服务器系统版本:2000 2003 2008 2012 1.用户与组管理 用户:账户=账号/用户名+密码 每个账户有自己唯一的SID 账户 ...

随机推荐

  1. (数据科学学习手札163)ibis:极具潜力的Python数据分析框架

    本文完整代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,今天要给大家介绍的Pyt ...

  2. redis-cli命令行工具使用

    redis 6.2.8 1.连接 ./redis-cli -h 127.0.0.1 -p 6379 -a admin@2020 -h redis主机地址 -a redis密码 -p redis端口 2 ...

  3. MySql 字段类型长度问题理解

    mysql中字段长度理解 字符长度 设计表中设置的是字符长度,任意字符都占一个字符长度,使用char_length 函数获取 char_length(`name`) 字节长度 字节长度和数据表的字符集 ...

  4. SpringBoot静态文件映射问题

    如果遇到这种情况,检查静态文件(js/css/img)是不是在默认的static路径下,在查看application配置中的 static-path-pattern: 是否和前端映射路径完全相同,要是 ...

  5. dig 使用

    dig dig(Domain Information Groper)是一个用于 DNS 查询的命令行工具,广泛用于查看域名系统的相关信息. 基本用法 # 查询域名的 A 记录(IPv4 地址): di ...

  6. 阿里云 ACK Pod重启:pod was OOM killed

    原因为:limits和requests的值设定为一样的了, pod request达到了limit限制,kubelet会统计到request+缓存就超限,然后触发自动重启 resources: lim ...

  7. vue单元测试

    0.测试钩子函数 describe的钩子函数 在测试块describe中,存在这四个钩子函数,他会在describe执行的不同时期调用: before():在该区块的所有测试用例之前执行 after( ...

  8. GitHub Star 数量前 13 的自托管项目清单

    一个多月前,我们撰写并发布了这篇文章<终极自托管解决方案指南>.在那篇文章里我们深入探讨了云端服务与自托管方案的对比.自托管的潜在挑战.如何选择适合自托管解决方案,并深入介绍了五款涵盖不同 ...

  9. TypeScript – Work with JavaScript Library (using esbuild)

    前言 JavaScript 早期是没有 Modular 和 Type (类型) 的. 随着这几年的普及, 几乎有维护的 Library 都有 Modular 和 Type 了. 但万一遇到没有 Mod ...

  10. 消毒 url 和 html (url encode and sanitizer html )

    更新: 2020-06-24 FromRoute vs FromQuery decode FromRoute 是不会 auto decode 的, query string 就会 这个是微软默认的设置 ...