LDAP(轻型目录访问协议)是一个开放的、中立的、业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息,它是由目录数据库和一套访问协议组成的系统,详情请查看 [百度百科](https://baike.baidu.com/item/轻型目录访问协议/10493115),LDAP协议最大的好处就是能统一管理用户密码,新人报道创建一个用户就能登录公司的所有平台,离职一键删除即可
---
### 说明
LDAP有两个协议端口,分别是:
| 端口 | 协议描述 |
| :--: | :--: |
| 389 | ldap:// |
| 636 | ldaps:// |
---
### 互联网
请注意截至写稿日期(2022-02-15),OpenLDAP还没有为CentOS8准备好安装包,如果安装过程中找不到 *openldap-servers*,需要下载源码编译安装
- [openldap](https://www.openldap.org)
```
[CentOS 8-]
yum -y install openldap openldap-servers openldap-clients
[CentOS 8+]
yum -y install wget vim cyrus-sasl-devel libtool-ltdl-devel \
openssl-devel libdb-devel make libtool autoconf \
tar gcc perl perl-devel
useradd -r -M -d /var/lib/openldap -u 55 -s /usr/sbin/nologin ldap
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.9.tgz
tar xzf openldap-2.4.9.tgz
cd openldap-2.4.9
./configure --prefix=/usr --sysconfdir=/etc --disable-static \
--enable-debug --with-cyrus-sasl --enable-dynamic \
--enable-crypt --enable-spasswd --enable-slapd --enable-modules \
--enable-rlookups --enable-backends=mod --disable-ndb --disable-sql \
--disable-shell --disable-bdb --disable-hdb --enable-overlays=mod
make depend
make install
```
---
### 局域网
```
rz
```
在弹出框中选择对应的包并上传
---
### CentOS 7
```
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap. /var/lib/ldap
systemctl start slapd
systemctl enable slapd
- 生成密码
slappasswd -s <your password>
- 将生成的串替换文本
vim chrootpw.ldif
# specify the password generated above for "olcRootPW" section
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: <above string with (SSHA)>
- 将密码等用LDiF方式导入
ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
- 向 LDAP 中导入一些基本的 Schema
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.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
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
```
---
### 容器安装
ldap 数据目录存放在:/data/slapd/,容器通过挂载可以直接使用
记得定期备份!
```
docker run --name ldap-core -p 389:389 -p 636:636 \
--volume /data/slapd/database:/var/lib/ldap \
--volume /data/slapd/config:/etc/ldap/slapd.d \
--env LDAP_ORGANISATION="dtzhejiang" \
--env LDAP_DOMAIN="dtzhejiang.com" \
--env LDAP_ADMIN_PASSWORD="Passw0rd" \
--env LDAP_TLS=false --restart=always --detach osixia/openldap
- 查询用户
docker exec ldap-core ldapsearch -x -H ldap://127.0.0.1 -b dc=dtzhejiang,dc=com -D "cn=admin,dc=dtzhejiang,dc=com" -w <your password>
```
---
### 常用命令
| 命令 | 描述 |
| :--: | :--: |
| ldapdelete -x -W -D | 删除条目 |
| ldapsearch -x -b | 搜索条目 |
---
### 参考文档
- [文1](https://wangshuashua.com/centos-7-install-openldap/)
- 前言
- 关于文档
- 第一章 预备
- 1.1 机器资源
- 1.2 网络环境
- 1.3 镜像源
- 1.4 磁盘挂载
- 第二章 基础组件
- 2.1 安装Zlib
- 2.2 安装JDK
- 2.3 安装Maven
- 2.4 安装Git
- 2.5 安装SonarQube
- 2.6 安装Nexus
- 2.7 安装NodeJS
- 2.8 安装Docker
- 2.9 安装Compose
- 2.10 安装Kubectl
- 第三章 集群组件
- 3.1 安装Gitlab
- 3.2 安装Jenkins
- 3.3 安装Harbor
- 3.4 安装Rancher
- 3.5 安装Nacos
- 3.6 安装LDAP
- 3.7 安装LDAPAdmin
- 第四章 集群配置
- 4.1 配置流水线
- 4.2 配置Hook
- 4.3 配置Rancher-Cli
- 4.4 配置Harbor
- 4.5 配置LDAP
- 4.6 配置Rancher
- 第五章 开发集成
- 5.1 Java项目
- 5.2 NodeJS项目
- 5.3 Python项目
- 5.4 Go项目
- 第六章 F&Q
- 6.1 安装错误Compose
- 6.2 安装错误Harbor