criecm.openldap
角色名称
安装 openldap 服务器
需求
FreeBSD 11/12,Debian 8(及其更高版本?)
角色变量(默认)
openldap_schemas
([core, cosine, inetorgperson, nis]) 包含在配置中的 LDAP 模式 如果在文件中存在 files/openldap/{{name}}.schema,将被复制openldap_slave_rid
(0) 适用于 host_vars 的从服务器 'rid' 值(必须唯一) 其他配置可以在 playbook 或 group_vars 中保持唯一slapd_rc_flags
("-h 'ldap:/// ldaps:///'")openldap_db_engine
(mdb - OpenBSD 用 hdb)openldap_db_maxsize
(1073741824)openldap_bases
([]) LDAP 基本字典的列表 一个基础可以包含:(slapd.conf 语法)database
(openldap_db_engine
)maxsize
(openldap_db_maxsize
) 数据库在 RAM 中的估计大小rootdn
()suffix
()directory
(openldap_datadir
,依赖于系统) 如果有多个数据库,你需要定义它overlays
([]) 模块名称的列表(必要时会加载模块) 在这里添加 "syncrepl" 会使其成为一个 syncrepl 主服务器includes
([]) 要包含的文件列表,相对路径为:- 在 playbook 中:playbook/files/openldap/ 作为源
- 目标:
openldap_confdir
/
slave
:字典({}) 将此服务器设为从服务器(syncrepl 协议)rid
(openldap_slave_rid
)*provider
()*searchbase
(suffix)binddn
()*credentials
()*bindmethod
(simple)scope
(sub)schemachecking
(on)type
(refreshAndPersist)retry
("60 10 120 +")interval
(00:00:00:15)tls_cacert
(ldap_tls_cacert)updateref
()
indexes
(["objectClass","pres,eq"])(如果是从服务器则加上["entryUUID,entryCSN","eq"]) 属性名称(多个)和搜索类型的列表 "objectClass" 和 "entryUUID,entryCSN"(如果是从服务器)将始终附加 可以使用以下命令生成:
grep ^index openldap/templates/slapd.conf.j2|sed 's/index *//; s/\([^ ]*\) *\([^ ]*\) *$/ - [ "\1", "\2" ]/'
TLS
ldap_tls_cacert
() CA 证书文件的路径 如果是绝对路径(以 / 开头),则为现有 CA 证书文件的路径(与 ldap_client 角色共享)
文件相对于 openldap/inventory_hostname
为源
到目标的路径为 openldap_confdir
/ssl/
openldap_tls_cert
() 如果定义,则为服务器证书的名称openldap_tls_key
() 如果定义,则为服务器密钥的名称openldap_tls_cacert
(ldap_tls_cacert
) 要复制到openldap_confdir
/ca.crt 的文件路径,覆盖ldap_tls_cacert
依赖关系
示例 Playbook
- hosts: servers
roles:
- criecm.openldap
vars:
openldap_schemas:
- core
- cosine
- nis
- inetorgperson
- rfc2739
ppolicy_default: cn=defppolicy,ou=policies,dc=at,dc=home
openldap_bases:
rootdn: cn=admin
suffix: dc=at,dc=home
includes: [ slapd.access ]
overlays:
- dynlist
- ppolicy
- smbk5pwd
indexes:
- [ "uid,uidNumber,gidNumber,memberUID", "pres,eq" ]
slave:
rid: 675
provider: ldaps://master.ldap.univ.fr:636
binddn: cn=bind,dc=dn
credentials: bindpw
bindmethod: simple
许可证
BSD