OpenLDAP文档 OpenLDAP 是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),属于开源集中账号管理架构的实现,且支持众多系统版本,被广大互联网公司所采用。OpenLDAP 账号集中管理软件可以实现账号集中维护、管理,只需要将被管理的机器加入到服务器端即可,此后所有与账号相关的策略均在服务端实现,从而解决了运维案例所产生的众多管理问题。 账号是登录系统的唯一入口。要登录系统,首先要存在登录所使用的账号及密码,得到授权后方可登录系统。如果有多个系统,就需要在每个系统上创建用户名和密码。对于账号管理人员而言,维护 10 台、 100 台机器的账号,或许勉强可以维护、管理。如果机器数量达到 1000 以上时,对于账号的创建、回收、权限的分配、密码策略等一系列操作,账号管理人员就心有余而力不足了。 OpenLDAP 目录服务优点包括: 1. 跨平台的标准互联网协议 2. 查询目录并取得条目,其查询性能比关系数据库好 3. 使用简单的文本字符串(简称 LDIF 文件),便于维护管理目录树条目 4. 实现用户的集中认证管理 5. 分布式结构,提供复制同步,可将主服务器上的数据通过推或拉的机制实现在从服务器上更新 OpenLDAP 使用 LMDB 数据库软件,LMDB 是基于 Btree-based 的高性能 mmap key-value 数据库,是在 BerkeleyDB 的基础上改进来的,支持事务操作,支持多进程访问。只产生两个文件 data.mdb 与lock.mdb。 OpenLDAP schema 概念类似关系数据库的字段说明,包括字段名,数据类型,数据长度等等。例如: * 属性:attributetype ( 1.3.6.1.4.1.7914.1.2.1.1 NAME 'username' DESC 'name of the user on the mailsystem' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-value ) * 类:objectclass ( 1.3.6.1.4.1.7914.1.2.2.1 NAME 'myUser' DESC 'LDAP User' SUP top STRUCTURAL MUST ( username $ cn ) MAY ( maildir $ home ) ) OpenLDAP 导入数据可以通过 LDIF 文件实现。LDIF 文件的格式如下: dn: uid=zhangsan,ou=people,dc=mycompany,dc=com objectClass: person objectClass: inetOrgPerson cn: 张三 displayName: zhangsan givenName: 三 mail: zhangsan@fake.org sn: 张 uid: zhangsan userPassword: password 可以使用 slapadd 命令来导入 LDIF 文件,例如: slapadd –v –l demo.ldif –f slapd.conf 其中,-v 指定显示详细的执行结果,-l 指定要导入的 LDIF 文件,-f 指定配置文件。 OpenLDAP 配置文件可以使用 Spring 框架来实现,例如: spring: ldap: urls: ldap://127.0.0.1:389 base: dc=mycompany,dc=com username: cn=Manager,dc=mycompany,dc=com password: secret @Entry(objectClasses = { "person" }, base = "ou=people,dc=mycompany,dc=com") public class Person { @Id private Name dn; @Attribute(name = "cn") private String cn; @Attribute(name = "displayName") private String displayName; @Attribute(name = "givenName") private String givenName; ... } OpenLDAP 是一款功能强大且灵活的目录服务软件,可以帮助我们实现账号集中管理、身份验证和授权等功能。
剩余17页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助