如何在 Ubuntu 22.04 上安装 OpenLDAP(转载)

本教程适用于这些操作系统版本

 

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 20.04(Focal Fossa)

 

在此页

 

  1. 先决条件
  2. 设置 FQDN(完全限定域名)
  3. 安装 OpenLDAP 包
  4. 配置 OpenLDAP 服务器
  5. 设置基本组
  6. 添加新组
  7. 添加 OpenLDAP 用户
  8. 安装 LDAP 帐户管理器
  9. 配置 LDAP 帐户管理器
  10. 结论

 

OpenLDAP 是轻量级目录访问协议 (LDAP) 的软件实现。 OpenLDAP 是免费的开源软件,带有自己的 BSD 样式许可证,称为 OpenLDAP 公共许可证。它的命令行驱动器 LDAP 软件可用于大多数 Linux 发行版,例如  CentOS、Ubuntu、Debian、SUSE 等。 OpenLDAP 是用于 LDAP 服务器的完整软件套件,其中包括 SLAPD(独立 LDAP 守护进程)、SLURPD(独立 LDAP 更新复制守护进程)以及一些用于管理 LDAP 服务器的实用程序和工具。 OpenLDAP 是一个高度可定制的 LDAP 服务器,支持所有主要的计算平台。

LDAP 帐户管理器或 LAM 是一个用 PHP 编写的 Web 应用程序,用于管理存储在 LDAP 服务器上的用户、组和 DHCP 设置。 LAM 提供了一种从 Web 浏览器管理 LDAP 服务器的简单方法。 LAM 专为没有多少技术背景的人设计,可以管理 LDAP 数据。 LAM 有两个不同的版本,免费的 Lite 版本和商业许可版本。

本指南将教您如何在 Ubuntu 22.04 服务器上使用 OpenLDAP 和 LDAP 帐户管理器设置 LDAP 服务器。本指南还将介绍如何设置 LDAP 用户以及如何设置 LDAP 帐户管理器来管理 OpenLDAP 服务器。

先决条件

 

 

在开始使用本指南之前,您必须具备以下先决条件:

 

  • Ubuntu 22.04 服务器
  • 具有根/管理员权限的非根用户。

 

设置 FQDN(完全限定域名)

在开始安装 OpenLDAP 服务器之前,需要确保 OpenLDAP 服务器的 FQDN(完全限定域名)配置正确。在此演示中,我们将使用服务器主机名“ldap”和域“localdomain.com”以及 IP 地址“192.168.5.25”设置一个 OpenLDAP 服务器。

运行以下命令将 FQDN 设置为 \ldap.localdomain.com\。

sudo hostnamectl set-hostname ldap.localdomain.com

使用以下命令编辑配置文件\/etc/hosts\

sudo nano /etc/hosts

将以下配置添加到文件中。这里的\/etc/hosts\文件的格式是\server-IP fqdn 主机名\。

192.168.5.25 ldap.localdomain.com ldap

完成后保存并关闭文件。

最后,运行以下命令来检查和验证 LDAP 服务器的 FQDN。在此演示中,您应该得到诸如 \ldap.localdomain.com\ 之类的输出。此外,如果您尝试对主机名 \ldap\ 执行 ping 操作,您应该从服务器 IP 地址 \192.168.5.25\ 而不是 localhost 获得响应。

sudo hostname -f
ping ldap

安装 OpenLDAP 包

在您拥有正确的 FQDN 之后,是时候安装默认情况下在 Ubuntu 存储库中可用的 OpenLDAP 包了。

在开始安装软件包之前,请运行下面的 apt 命令来更新和刷新您的 Ubuntu 系统存储库。

sudo apt update

 

 

现在使用以下命令安装 OpenLDAP 包。输入Y确认安装,回车,开始安装。

sudo apt install slapd ldap-utils

在安装 OpenLDAP 包期间,系统会要求您设置 OpenLDAP 的管理员密码。输入 OpenLDAP 管理员用户的强密码并选择“确定”,然后重复您的密码。并且 OpenLDAP 安装将完成。

配置 OpenLDAP 服务器

要开始配置 OpenLDAP 服务器,请运行以下命令。此命令将重新配置主 OpenLDAP 包“slapd”,您将被要求提供一些基本的 OpenLDAP 配置。

sudo dpkg-reconfigure slapd

当询问“省略 OpenLDAP 服务器配置?”时,选择“否”。这将使用新配置文件和新数据库设置 OpenLDAP 服务器。

输入 OpenLDAP 安装的域名并选择“确定”。此域名将用作您的 OpenLDAP 服务器的 DN(专有名称)。在此演示中,域名为“localdomain.com”,因此 DN 为“dc=localdomain,dc=com”。

输入将在 DN 中使用的组织名称。您可以为此使用域,但也可以使用其他名称。

现在输入 OpenLDAP 服务器的管理员密码并重复密码。另外,请确保密码正确。

当要求删除旧数据库时,选择“否”。

现在选择“是”移动旧的 OpenLDAP 数据库,OpenLDAP 配置完成。

下面是 OpenLDAP 配置完成后的输出。

 

重新配置 \slapd\ 包后,使用以下命令编辑配置文件 \/etc/ldap/ldap.conf\。

sudo nano /etc/ldap/ldap.conf

取消注释行 \BASE\ 和 \URI\ 并输入您的 OpenLDAP 服务器的域名。在此演示中,这里的“BASE”是“dc=localdomain,dc=com”,OpenLDAP 服务器的“URI”是“ldap:/ /ldap.localdomain.com\。

BASE dc=localdomain,dc=com
URI  ldap://ldap.localdomain.com

完成后保存并关闭文件。

现在运行以下命令以重新启动 \slapd\ OpenLDAP 服务并在 OpenLDAP 服务器上应用新的更改。 OpenLDAP 服务器现在使用基本 DN \dc=localdomain,dc=com\ 运行。

sudo systemctl restart slapd
sudo systemctl status slapd

最后,运行以下命令来检查和验证 OpenLDAP 基本配置。您应该将 OpenLDAP 服务器的基本 DN 作为 \dc=localdomain,dc=com\。

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///

设置基本组

配置 OpenLDAP 服务器的基本 DN(可分辨名称)后,现在您将创建一个新的 OpenLDAP 用户基本组。在此演示中,您将创建两个不同的基本组,名为“People”的组用于存储用户,然后名为“Groups”的组用于在 OpenLDAP 服务器上存储组。

要创建新的 LDAP 内容,例如用户和组,您可以使用 LDIF 文件(LDAP 数据交换格式)和 LDAP 工具“ldapadd”。

使用以下命令创建一个新的 LDIF 文件 \base-groups.ldif\。

sudo nano base-groups.ldif

将以下配置添加到文件中。

dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: People

dn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups

现在通过文件 \base-groups.ldif\ 运行下面的 \ldapadd\ 命令到新的基础组。系统将提示您输入 OpenLDAP 管理员密码,因此请务必输入正确的密码。

sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f base-groups.ldif

最后,运行以下命令来检查和验证 OpenLDAP 服务器的基本组。您现在应该看到两个可用的基本组,名为“People”和“Groups”的组。

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///

添加新组

在 LDAP 服务器上创建基本组后,现在您可以创建新的 LDAP 组和用户。在本节中,您将通过 LDIF 文件创建一个新组。

使用以下命令创建一个新的 LDIF 文件 \group.ldif\。

sudo nano group.ldif

将以下配置添加到文件中。在此示例中,我们将创建一个名为“developers”的新组,将其存储在基本组“Groups”中并定义 gidNumber 为“5000”。

dn: cn=developers,ou=Groups,dc=localdomain,dc=com
objectClass: posixGroup
cn: developers
gidNumber: 5000

完成后保存并关闭文件。

接下来,运行下面的“ldapadd”命令以添加新的“developers”组。并确保输入 OpenLDAP 服务器的管理员密码。

sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f group.ldif

最后,运行以下命令来检查和验证组 \developers\。您应该得到组 \developers\ 的输出,它是 \Groups\ 的一部分,gidNumber 为 \5000\。

sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(cn=developers)' gidNumber

添加 OpenLDAP 用户

在 OpenLDAP 服务器上创建组后,就可以通过 LDIF 文件创建 LDAP 用户了。

在创建新用户之前,运行以下命令为新的 LDAP 用户生成加密密码。输入新密码并重复,然后复制加密后的密码\{SSHA}ZdNAB+uH/zbK1mdS9JWlfOwRDf0mrsla\。

sudo slappasswd

现在使用以下命令创建一个新的 LDIF 文件 \user.ldif\。

sudo nano user.ldif

将以下配置添加到文件中。在此演示中,我们将使用默认主目录 \/home/john\ 和默认 shell \/bin/bash 创建一个新用户 \john\ \”。此外,您可以在配置文件的顶部看到,该用户是组 \People\ 的一部分,并使用 gidNumber \5000\。

dn: uid=john,ou=People,dc=localdomain,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
sn: Doe
givenName: John
cn: John Doe
displayName: John Doe
uidNumber: 10000
gidNumber: 5000
userPassword: {SSHA}ZdNAB+uH/zbK1mdS9JWlfOwRDf0mrsla
gecos: John Doe
loginShell: /bin/bash
homeDirectory: /home/john

完成后保存并关闭文件。

接下来,运行下面的 \ldapadd\ 命令在文件 \user.ldif\ 中添加一个新用户。现在输入 OpenLDAP 服务器的管理员密码。

sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f user.ldif

最后,运行下面的“ldapsearch”命令来检查和验证新的 LDAP 用户。您应该在 OpenLDAP 服务器上创建并使用用户 \john\。

sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(uid=john)' cn uidNumber gidNumber

安装 LDAP 帐户管理器

此时,您已经完成了基本的 OpenLDAP 安装。现在,您将在与 OpenLDAP 服务器相同的服务器上安装 LDAP 帐户管理器。 LDAP 帐户管理器 (LAM) 是一个 Web 应用程序,可用作 OpenLDAP 服务器的前端。它允许您从 Web 浏览器管理 OpenLDAP 服务器,您可以从 Web 浏览器设置新用户、组等。

默认情况下,LAM 在 Ubuntu 存储库中可用。您可以使用下面的 apt 命令安装它。这将安装一些其他包,包括 PHP 和 Apache2 网络服务器。

输入 Y 确认安装,然后按 ENTER 继续。 LAM 安装将开始。

sudo apt install ldap-account-manager

安装完成后,打开浏览器,访问服务器IP地址后跟URL路径\/lam(即http://192.168.5.25/lam)。你应该得到LDAP 帐户管理员 (LAM) 的登录页面。

配置 LDAP 帐户管理器

在开始从 LAM 应用程序管理 OpenLDAP 服务器之前,您需要为 OpenLDAP 服务器设置 LAM 配置文件。

在LAM登录页面,点击左上角菜单“LAM配置”。

现在单击“编辑服务器配置文件”为您的 OpenLDAP 服务器设置 LAM 配置文件。

当询问密码时,输入默认密码“lam”并单击“登录”。 LDAP 帐户管理器上的默认配置文件是 \lam\。您将为 OpenLDAP 服务器编辑此默认配置文件。

在“常规设置”页面上,您会看到一些不同的设置。

在“工具设置”中,输入 OpenLDAP 服务器的主 DN(可分辨名称)。在此演示中,DN 是\dc=localdomain,dc=com\。

在“安全设置”部分,选择“登录方式”为“固定列表”。然后,输入详细信息登录 OpenLDAP 服务器。 OpenLDAP 的默认用户是 \admin\,因此该字段应该是这样的 \cn=admin,dc=localdomain,dc=com\。

最后,在“密码配置文件”部分输入新密码。这将更改配置文件“lam”的默认密码。然后,单击“保存”按钮应用新的更改。

现在您将被重定向到 LDAP 帐户管理员登录页面。再次单击“LAM 配置”菜单并编辑默认配置文件“lam”。

现在转到“帐户类型”页面以设置 OpenLDAP 服务器的默认组。

在“用户”部分,将 LDAP 后缀输入为“ou=People,dc=localdomain,dc=com\”。在这个例子中,所有用户都应该在 \People\ 上可用。

在“组”部分,输入 LDAP 后缀为“ou=Groups,dc=localdomain,dc=com\”。在此示例中,所有组都应在基本组 \Groups\ 中可用。

现在单击“保存”按钮以保存对默认配置文件“lam”的更改。

此时,您将再次被重定向到 LDAP 帐户管理员登录页面。如您所见,默认用户登录现已更改为“admin”。输入您的 OpenLDAP 密码的管理员密码,然后单击“登录”。你应该得到 LAM 仪表板。

在 \Users\ 菜单上,您应该会看到刚刚创建的用户 \john\。

在“群组”菜单上,您应该会看到群组“开发人员”。

结论

恭喜!您现在已经在 Ubuntu 22.04 服务器上成功安装了带有 LDAP 帐户管理器 (LAM) 的 OpenLDAP 服务器。您还学习了如何设置 OpenLDAP 组和用户。最后,您还了解了如何设置 LDAP 帐户管理员配置文件以将 OpenLDAP 服务器添加到 LAM Web 应用程序。

参考

https://cn.linux-console.net/?p=3446

posted @ 2024-05-27 09:49  皇帽讲绿帽带法技巧  阅读(982)  评论(0编辑  收藏  举报