OpenLDAP 最详细的概念教程

OpenLDAP

轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。
OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。

为什么要用LDAP

可以这样讲:市面上只要你能够想像得到的所有工具软件,全部都支持LDAP协议。比如说你公司要安装一个项目管理工具,那么这个工具几乎必然支持LDAP协议,你公司要安装一个bug管理工具,这工具必然也支持LDAP协议,你公司要安装一套软件版本管理工具,这工具也必然支持LDAP协议。LDAP协议的好处就是你公司的所有员工在所有这些工具里共享同一套用户名和密码,来人的时候新增一个用户就能自动访问所有系统,走人的时候一键删除就取消了他对所有系统的访问权限,这就是LDAP。

LDAP中的几个概念

DC、OU、DN、UID、CN、RDN、SN

英文简称英文全称含义
DCDomain Component域名的部分,其格式是将完整的域名分成几部分,如域名为xxxx.com变成dc=xxxx,dc=com。简单理解把它理解成域名标识即可。
OUOrganization Unit组织单位,组织单位可以包含其他各种对象,如“开发组”(一条记录的所属组织)。简单理解把他理解成公司的组织和部门:ou=开发一组,ou=技术研发部门
UIDUser Id用户ID zhangsan(一条记录的ID)
DNDistinguished Name“uid=zhangsan,ou=开发一组,ou=技术研发部门,dc=xxxx,dc=com”,一条记录的位置(唯一) DN的元素包含UID(或CN) + OU + DC
CNCommon Name公共名称,如“张三”(一条记录的名称)。简单理解用于描述UID的
rdnRelative dn相对辨别名,类似于文件系统中的相对路径,它是与目录树结构无关的部分,如“uid=zhangsan”或“cn= 张三”
SNSurname姓,如“张”

传统命名的示例LDAP目录树:

传统命名的示例LDAP目录树
基于Internet域名的树结构,常用于DNS服务器:
基于Internet域名的树结构,常用于DNS服务器

OpenLDAP数据库

OpenLDAP的使用LMDB数据库软件
LMDB是基于Btree-based的高性能mmap key-value数据库,是在BerkeleyDB的基础上改进来的,支持事务操作,支持多进程访问。只产生两个文件data.mdb与lock.mdb

为什么OpenLDAP不用RDBMS

因为dc,ou在现实中可能有多层,层次不确定,不适合用RDBMS存储。例如:
dc=abc,dc=com;
dc=def,dc=com,dc=cn;

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenLDAP 是一种开源的轻量级目录访问协议(LDAP)服务器,可以用于存储和管理组织内的用户和资源信息。以下是 OpenLDAP 部署的详细步骤: 1. 安装 OpenLDAP 在 Linux 操作系统上,可以使用系统自带的包管理器安装 OpenLDAP。例如,在 Ubuntu 上使用以下命令安装: ``` sudo apt-get install slapd ldap-utils ``` 在安装过程中,会提示设置管理员密码,注意保存该密码。 2. 配置 OpenLDAP 安装完成后,需要进行配置。编辑 /etc/ldap/ldap.conf 文件,修改以下内容: ``` BASE dc=example,dc=com URI ldap://localhost ``` 其中,BASE 是根节点的名称,URI 是 LDAP 服务器的地址。 3. 创建 LDAP 数据库 使用以下命令创建 LDAP 数据库: ``` sudo dpkg-reconfigure slapd ``` 在配置过程中,会提示设置管理员密码和根节点名称等信息。根据实际情况进行设置。 4. 添加 LDAP 数据 使用以下命令添加 LDAP 数据: ``` ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f data.ldif ``` 其中,-x 表示使用简单身份验证,-D 表示管理员身份,-W 表示在命令行中输入管理员密码,-f 表示指定要添加的数据文件。 data.ldif 文件内容示例: ``` dn: dc=example,dc=com objectClass: top objectClass: dcObject objectClass: organization o: Example dc: example dn: cn=admin,dc=example,dc=com objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin userPassword: {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= description: LDAP administrator dn: ou=people,dc=example,dc=com objectClass: organizationalUnit ou: people dn: uid=user1,ou=people,dc=example,dc=com objectClass: inetOrgPerson objectClass: posixAccount uid: user1 cn: User One givenName: User sn: One mail: user1@example.com uidNumber: 1001 gidNumber: 1001 homeDirectory: /home/user1 userPassword: {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= dn: uid=user2,ou=people,dc=example,dc=com objectClass: inetOrgPerson objectClass: posixAccount uid: user2 cn: User Two givenName: User sn: Two mail: user2@example.com uidNumber: 1002 gidNumber: 1001 homeDirectory: /home/user2 userPassword: {SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g= ``` 其中,dn 表示数据项的唯一标识,objectClass 表示数据项的类型,userPassword 表示用户密码的 SHA 哈希值。 5. 测试 LDAP 使用以下命令测试 LDAP 是否可用: ``` ldapsearch -x -b "dc=example,dc=com" -H ldap://localhost ``` 其中,-b 表示要搜索的根节点名称,-H 表示 LDAP 服务器的地址。如果输出了数据项,则表示 LDAP 配置成功。 以上就是 OpenLDAP 部署的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值