docker
docker 部署合集
docker搭建OpenLDAP
docker-compose
phpLdapAdmin 创建用户和组
jenkins 集成 ldap
添加memberOf模块
gitlab 集成ldap
OpenLDAP多主复制(基于docker容器模式部署)
ldap 日志
LDAP自助密码服务平台
cadvisor
开放 端口 和 套接字
docker命令
Weave Scope
cmd entrypoint
docker-compose 删除数据卷
docker slim
面试
harbor 更新证书
Docker Build Cache 缓存清理
本文档使用 MrDoc 发布
-
+
首页
添加memberOf模块
## 添加memberOf模块 ``` # 注意第5行和7行(含空行) cat <<EOF > memberof_config.ldif dn: cn=module,cn=config cn: module objectClass: olcModuleList olcModuleLoad: memberof.la olcModulePath: /usr/lib/ldap dn: olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config objectClass: olcConfig objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfNames olcMemberOfMemberAD: member olcMemberOfMemberOfAD: memberOf EOF # 命令 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif # 检查cn=config/,看是不是多了一个模块,这个模块的数字编号影响下一步操作。 ``` ## 修改memberOf模块 ``` cat <<EOF > refint1.ldif dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refint EOF cat <<EOF > refint2.ldif dn: olcOverlay={1}refint,olcDatabase={1}mdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: {1}refint olcRefintAttribute: memberof member manager owner EOF # 命令 ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif # 好像有错误,这个错误可以忽略 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint2.ldif ``` ## 验证 如果你想要验证 "memberof" 模块是否已经正确加载到你的 OpenLDAP 服务器,你可以使用 `ldapsearch` 命令来查询你的服务器的配置。以下是一个例子: ```sh ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config olcModuleLoad=memberof.la ``` 这个命令的含义如下: - `-Q` 启用静默模式,不显示额外的信息。 - `-LLL` 输出纯 LDIF 格式的结果,不包含注释和版本信息。 - `-Y EXTERNAL` 使用 EXTERNAL 机制进行身份验证,这通常用于在本地以管理员身份访问服务器。 - `-H ldapi:///` 连接到本地的 LDAP 服务器。如果你的服务器在其他位置,你需要修改这个参数。 - `-b cn=config` 搜索的基础 DN(Distinguished Name),在这个例子中,我们搜索整个配置目录。 - `olcModuleLoad=memberof.la` 搜索条件,我们在这里搜索加载了 "memberof" 模块的条目。 如果 "memberof" 模块已经加载,这个命令应该会返回包含 "olcModuleLoad: memberof.la" 的条目。如果没有返回任何结果,那可能意味着 "memberof" 模块没有被加载。 请注意,你可能需要根据你的环境和配置来修改这个命令。例如,如果你的服务器不在本地,或者你使用的是不同的身份验证机制,你可能需要修改 `-H` 和 `-Y` 参数。如果你的 "memberof" 模块的文件名不是 "memberof.la",你可能需要修改搜索条件。 --- result ``` ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config olcModuleLoad=memberof.la dn: cn=module{0},cn=config objectClass: olcModuleList cn: module{0} olcModulePath: /usr/lib/ldap olcModuleLoad: {0}back_mdb olcModuleLoad: {1}memberof olcModuleLoad: {2}refint olcModuleLoad: {3}memberof.la dn: cn=module{5},cn=config objectClass: olcModuleList cn: module{5} olcModulePath:: L3Vzci9saWIvbGRhcCA= olcModuleLoad: {0}memberof.la ``` ## 实际查询 ``` ldapsearch -x -H ldapi:/// -b "ou=People,dc=leg,dc=cg" -D "cn=admin,dc=leg,dc=cg" -W "(memberOf=cn=gitlab,ou=Group,dc=leg,dc=cg)" ``` 目录结构 ![](/media/202308/2023-08-07_121758_7327030.7777059352300721.png)
admin
2023年8月7日 12:18
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码