轻量级目录访问协议是为在IT环境中管理用户、组访问和权限而开发的协议。 有不同的协议用于身份验证和授权,但LDAP是最流行和兼容的协议。
LDAP可用于将Windows Active Directory与Linux和其他非Windows系统集成。ActiveDirectory还提供LDAP服务。
在本教程中,我们将介绍如何安装、配置和测试安装在Ubuntu上的LDAP服务器。
安装
有不同的软件实现LDAP协议。在本教程中,我们将使用名为OpenLDAP的流行工具套件。我们将使用以下命令安装所有与OpenLDAP相关的包。
$ sudo apt install ldap*
设置管理员密码
我们将为 admin
在LDAP目录中查找。

验证 管理员密码

设置LDAP URI

设置域名搜索基数

设置版本

设置密码更改PAM

设置登录以检索条目

设置根或管理员帐户

LDIF文件格式
LDAP数据交换格式(LDIF)是一种主要用于LDAP协议的标准纯文本数据交换格式。LDIF格式定义为 RFC 2849
. LDIF用于以下操作,以提供数据和配置。
- 添加
- 修改
- 删除
- 重命名
下面是一个简单的LDIF示例
dn: cn=ismail,dc=poftut,dc=com ou=admin objectClass: organizationalRole cn: The Postmaster
有一些重要的LDIF领域。让我们看看。
dn公司
dn
指定可分辨名称并用于标识目录中的条目。
直流
dc
指定域组件并用于标识与poftut.com相同的域名
dc=poftut,dc=com
欧点
ou
指定组织单位并用于设置组。下面的示例指定组管理员
ou=admin
中国
cn
指定公用名称并用于设置有关dn的数据,如用户名、配方名称、职务
相关文章: Linux和Unix的Access.conf安全配置
LDAP配置文件
Ldap提供了许多配置文件。但我们将查看最重要的配置文件,在这些文件中我们将进行交互和更改。
-
config.ldif
是默认的主配置文件,由ldap
服务。它位于/etc/ldap/slap.d/cn=config.ldif
. -
olcDatabase{2}bdb.ldif
文件用于存储有关域的表单信息。它是LDAP数据库文件。此文件还存储LDAP根用户和基本域名或DN。
创建LDAP管理用户
管理LDAP服务的最佳实践是创建具有完全权限的管理用户。为了创建管理员用户,我们需要设置用户名 带DN。
管理员用户是用 olcRootDN
配置文件中名为 olcDatabase
. 我们可以找到与grep相关的olcDatabase文件,如下所示。
$ grep -r "olcRootDN" /etc/ldap/
数据库文件位于 /etc/ldap/slapd.d/cn=config/olcDatabase={1}.mdb.lif
根据您的发行版和版本,此位置和文件可能会有细微的更改。我们改变这一行根据完全限定域名如下。
olcRootDN: cn=admin,dc=poftut,dc=com
这里是我们的域名 poftut.com
和名字 admin
. 我们需要改变现状 olcSuffix
也在同一个文件中。我们新的olcSuffix系列如下所示。
olcSuffix: dc=poftut,dc=com
设置LDAP管理员用户密码
之前我们已经设置了我们的用户管理员。现在我们需要为这个用户设置密码。密码行与用户名位于同一文件中。密码行指定为 olcRootDN
.

正如我们看到的,这个值存储为散列,所以我们需要将密码转换为散列值。希望有一个工具名为 slappasswd
用于创建密码哈希值。我们输入两次要使用的密码。
$ slappasswd

我们相应地增加创造价值,如下所示。
olcRootPW: {SSHA}Ru8OVQ9nCyts/LjYFj1SJ+va2f78YRmQ
验证 配置文件
由于用文本文件配置LDAP是一项乏味的工作,我们可能会犯错误。这种错误通常会导致LDAP服务无法启动。我们可以检查配置文件并验证语法,然后再采取任何严肃的行动。我们将使用名为 slaptest
就像下面一样。
$ sudo slaptest -u

我们可以把这个消息 config file testing succeeded
.
相关文章: 如何禁用或锁定Linux用户帐户?
重新启动LDAP服务
在上一步中,我们已经设置了密码值。设置密码值不会立即影响LDAP配置。我们需要重新启动LDAP服务以使新配置生效。我们用systemctl命令重新启动服务。
$ sudo systemctl restart slapd.service
检查启动是否正确
$ sudo systemctl status slapd.service

验证LDAP搜索
现在看来一切都好了。我们可以通过发送一些示例查询来检查LDAP服务。我们将使用 ldapsearch
命令将我们的域条目列为count。
$ ldapsearch -x -b "dc=poftut,dc=com"

我们可以看到有两个搜索结果