组件分享之后端组件——LDAP仓库docker-openlda
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:docker-openldap
- 开源协议:MIT license
内容
本节我们分享的是LDAP仓库docker-openldap,它可以让我们快速进行安装ldap进行使用。
具体安装如下: 1、docker安装
代码语言:javascript复制docker run --name my-openldap-container --detach osixia/openldap:1.5.0
创建新的 ldap 服务器
代码语言:javascript复制docker run
--env LDAP_ORGANISATION="My Company"
--env LDAP_DOMAIN="my-company.com"
--env LDAP_ADMIN_PASSWORD="JonSn0w"
--detach osixia/openldap:1.5.0
仅用于新的 ldap 服务器:
- LDAP_ORGANISATION:组织名称。默认为
Example Inc.
- LDAP_DOMAIN:LDAP 域。默认为
example.org
- LDAP_BASE_DN:LDAP 基本 DN。如果为空,则从 LDAP_DOMAIN 值自动设置。默认为
(empty)
- LDAP_ADMIN_PASSWORD LDAP管理员密码。默认为
admin
- LDAP_CONFIG_PASSWORD Ldap 配置密码。默认为
config
- LDAP_READONLY_USER添加只读用户。默认为
false
注意:只读用户确实对其自己的密码具有写访问权。 - LDAP_READONLY_USER_USERNAME只读用户名。默认为
readonly
- LDAP_READONLY_USER_PASSWORD只读用户密码。默认为
readonly
- LDAP_RFC2307BIS_SCHEMA使用 rfc2307bis 模式而不是 nis 模式。默认为
false
后端:
- LDAP_BACKEND:LDAP 后端。默认为
mdb
(以前在 v1.1.10 之前的映像版本中为 hdb) 帮助:https ://www.openldap.org/doc/admin24/backends.html
TLS 选项:
- LDAP_TLS:添加 openldap TLS 功能。设置为 true 后无法删除。默认为
true
. - LDAP_TLS_CRT_FILENAME:Ldap ssl 证书文件名。默认为
ldap.crt
- LDAP_TLS_KEY_FILENAME:Ldap ssl 证书私钥文件名。默认为
ldap.key
- LDAP_TLS_DH_PARAM_FILENAME:Ldap ssl 证书 dh 参数文件。默认为
dhparam.pem
- LDAP_TLS_CA_CRT_FILENAME:Ldap ssl CA 证书文件名。默认为
ca.crt
- LDAP_TLS_ENFORCE:强制执行 TLS,但 ldapi 连接除外。设置为 true 后无法禁用。默认为
false
. - LDAP_TLS_CIPHER_SUITE:TLS 密码套件。默认为
SECURE256: SECURE128:-VERS-TLS-ALL: VERS-TLS1.2:-RSA:-DHE-DSS:-CAMELLIA-128-CBC:-CAMELLIA-256-CBC
,基于 Red Hat 的TLS 强化指南 - LDAP_TLS_VERIFY_CLIENT:TLS 验证客户端。默认为
demand
帮助:https ://www.openldap.org/doc/admin24/tls.html
复制选项:
LDAP_REPLICATION:添加 openldap 复制功能。可能的值:true
, false
, own
. 默认为false
. 将此设置为own
允许通过自定义引导 ldifs 提供自己的复制设置。
LDAP_REPLICATION_CONFIG_SYNCPROV:用于配置数据库的 olcSyncRepl 选项。没有根据 LDAP_REPLICATION_HOSTS 自动添加的rid和provider 。默认为binddn="cn=admin,cn=config" bindmethod=simple credentials=$LDAP_CONFIG_PASSWORD searchbase="cn=config" type=refreshAndPersist retry="60 " timeout=1 starttls=critical
LDAP_REPLICATION_DB_SYNCPROV:用于数据库的 olcSyncRepl 选项。没有根据 LDAP_REPLICATION_HOSTS 自动添加的rid和provider 。默认为binddn="cn=admin,
其他环境变量:
- KEEP_EXISTING_CONFIG:不要更改 ldap 配置。默认为
false
- 如果在现有数据库中设置为true ,则配置将保持不变。映像 tls 和复制配置将不会运行。容器可以在 LDAP_ADMIN_PASSWORD 和 LDAP_CONFIG_PASSWORD 为空或填充虚假数据的情况下启动。
- 如果在引导新数据库时设置为true,则不会添加引导 ldif 和模式,并且不会运行 tls 和复制配置。
- LDAP_REMOVE_CONFIG_AFTER_SETUP:设置后删除配置文件夹。默认为
true
- LDAP_SSL_HELPER_PREFIX:ssl-helper 环境变量前缀。默认为
ldap
, ssl-helper 首先从 LDAP_SSL_HELPER_* 变量中搜索配置,在 SSL_HELPER_* 变量之前。 - HOSTNAME:设置正在运行的 openldap 服务器的主机名。默认为 docker 创建的任何内容。
- DISABLE_CHOWN:不执行任何 chown 来修复文件所有权。默认为
false
- LDAP_OPENLDAP_UID:运行时 docker 用户 uid 以运行容器
- LDAP_OPENLDAP_GID:运行时 docker 用户 gid 来运行容器
具体使用方式可以参见该文档
本文声明:
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。