引用自 我花了一个五一终于搞懂了OpenLDAP
轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。
大部分企业级工具都支持LDAP协议,我们可以搭建OpenLDAP服务使得这些企业级工具共享同一套用户名和密码来进行认证授权。
安装OpenLDAP
1
| yum install openldap openldap-clients openldap-servers
|
启动OpenLDAP服务
配置OpenLDAP
root.ldif
1 2 3 4 5 6 7 8 9 10
| dn: olcDatabase={2}bdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=example,dc=com - replace: olcSuffix olcSuffix: dc=example,dc=com - replace: olcRootPW olcRootPW: {SSHA}RLFdZ/Ym/O9TODUMNAPh8a7F5DzDaG5P
|
修改RootDN,使用指令ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f root.ldif
org.ldif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| dn: dc=example,dc=com dc: example objectClass: dcObject objectClass: organizationalUnit ou: rootobject
dn: ou=Group,dc=example,dc=com ou: Group description: Groups objectClass: organizationalUnit
dn: ou=People,dc=example,dc=com ou: People description: People objectClass: organizationalUnit
|
使用指令ldapadd -H ldapi:/// -D "cn=admin,dc=example,dc=com" -x -w ${password} -f org.ldif
。注意将${password}
替换为实际的密码。
以下三个文件以同样方式执行命令。
memberof_config.ldif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| dn: cn=module,cn=config cn: module objectClass: olcModuleList olcModuleLoad: memberof olcModulePath: /usr/lib64/openldap
dn: olcOverlay={0}memberof,olcDatabase={2}bdb,cn=config objectClass: olcConfig objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfNames olcMemberOfMemberAD: member olcMemberOfMemberOfAD: memberOf
|
refint1.ldif
1 2 3
| dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refint
|
refint2.ldif
1 2 3 4 5 6 7
| dn: olcOverlay={1}refint,olcDatabase={2}bdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: {1}refint olcRefintAttribute: memberof member manager owner
|