目录
- 1 简单说明
- 2 安装配置
- 2.1 安装
- 1、安装前准备
- 2、安装 OpenLADP
- 3、配置OpenLDAP
- 4、设置基本组
- 5、添加新组
- 5、添加 OpenLDAP 用户
- 2.2 安装 LDAP 帐户管理器
- 1、安装
- 2、配置 LDAP 帐户管理器
- 3 简单使用
- 3.1 创建一个组
- 3.2 创建一个用户
- 总结
1 简单说明
之前写过在Centos下的安装,以及使用源码包的方式安装OpenLADP,客户端使用的PHPLDAPadmin,在使用的时候创建用户时并不直观。
这次在Ubuntu22.04上安装使用的是apt来安装,同时使用 LDAP 帐户管理器 (LAM) 来作为 OpenLDAP 服务器的前端。
2 安装配置
2.1 安装
1、安装前准备
条件:
Ubuntu 22.04
在安装之前需要确认80端口没有被占用
具有根/管理员权限的非根用户
在开始 安装 OpenLDAP 服务器之前,需要确保 OpenLDAP 服务器的 FQDN(完全限定域名)配置正确。在这里使用 ldap.localdomain.com
# 在 /etc/hosts 中添加
192.168.92.10 ldap.localdomain.com
2、安装 OpenLADP
# 更新存储库
sudo apt update
sudo apt install slapd ldap-utils
在安装 OpenLDAP 包期间,系统会要求设置 OpenLDAP 的管理员密码。输入 OpenLDAP 管理员用户的强密码并选择“确定”,然后重复您的密码。并且 OpenLDAP 安装将完成。
3、配置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 vim /etc/ldap/ldap.conf# 这里的“BASE”是“dc=localdomain,dc=com”,OpenLDAP 服务器的“URI”是“ldap://ldap.localdomain.com
BASE dc=localdomain,dc=com
URI ldap://ldap.localdomain.com # 重启服务
sudo systemctl restart slapd.service
sudo systemctl status slapd.service
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)Loaded: loaded (/etc/init.d/slapd; generated)Drop-In: /usr/lib/systemd/system/slapd.service.d└─slapd-remain-after-exit.confActive: active (running) since Thu 2024-08-22 14:14:36 CST; 7s agoDocs: man:systemd-sysv-generator(8)Process: 2245951 ExecStart=/etc/init.d/slapd start (code=exited, status=0/SUCCESS)Tasks: 3 (limit: 9405)Memory: 3.3MCPU: 21msCGroup: /system.slice/slapd.service└─2245960 /usr/sbin/slapd -h "ldap:/// ldapi:///" -g openldap -u openldap -F /etc/ldap/slapd.dAug 22 14:14:36 template systemd[1]: Starting LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)...
Aug 22 14:14:36 template slapd[2245951]: * Starting OpenLDAP slapd
Aug 22 14:14:36 template slapd[2245957]: @(#) $OpenLDAP: slapd 2.5.18+dfsg-0ubuntu0.22.04.2 (Jul 12 2024 21:51:23) $Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Aug 22 14:14:36 template slapd[2245960]: slapd starting
Aug 22 14:14:36 template slapd[2245951]: ...done.
Aug 22 14:14:36 template systemd[1]: Started LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol).# 运行以下命令来检查和验证 OpenLDAP 基本配置
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
#######
dn: dc=localdomain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: localdomain.com
dc: localdomain
4、设置基本组
# 1、创建 基本组
## 创建一个新的 OpenLDAP 用户基本组,将创建两个不同的基本组,名为“People”的组用于存储用户,然后名为“Groups”的组用于在 OpenLDAP 服务器上存储组。
# 可以使用 LDIF 文件(LDAP 数据交换格式)和 LDAP 工具“ldapadd”
mkdir ldap
cd ldapcat >> base-groups.ldif << EOF
dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Peopledn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups
EOFsudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f base-groups.ldif
### 输出
Enter LDAP Password:
adding new entry "ou=People,dc=localdomain,dc=com"adding new entry "ou=Groups,dc=localdomain,dc=com"# 查看
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
#### 输出
dn: dc=localdomain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: localdomain.com
dc: localdomain
####### 以下为刚才新加的内容
dn: ou=People,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Peopledn: ou=Groups,dc=localdomain,dc=com
objectClass: organizationalUnit
ou: Groups
5、添加新组
vim group.ldif
## 创建一个名为“netops”的新组,将其存储在基本组“Groups”中并定义 gidNumber 为“5000”
dn: cn=netops,ou=Groups,dc=localdomain,dc=com
objectClass: posixGroup
cn: netops
gidNumber: 5000# 运行下面的“ldapadd”命令以添加新的“netops”组。并确保输入 OpenLDAP 服务器的管理员密码。
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f group.ldif
#### 输出
Enter LDAP Password:
adding new entry "cn=netops,ou=Groups,dc=localdomain,dc=com"## 删除
# ldapdelete -D "cn=admin,dc=localdomain,dc=com" -W "cn=netops,ou=Groups,dc=localdomain,dc=com"# 查看
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(cn=netops)' gidNumber
######
dn: cn=netops,ou=Groups,dc=localdomain,dc=com
gidNumber: 5000
5、添加 OpenLDAP 用户
# 生成加密密码
slappasswd
New password:
Re-enter new password:
{SSHA}ms1fuVBly5kBXdPmPRlg8mavZDyf638e#
cat >> user.ldif <<EOF
dn: uid=xiaoming,ou=People,dc=localdomain,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: xiaoming
sn: Wang
givenName: Xiaoming
cn: Xiaoming Wang
displayName: Xiaoming Wang
uidNumber: 10000
gidNumber: 5000
userPassword: {SSHA}ms1fuVBly5kBXdPmPRlg8mavZDyf638e
gecos: Xiaoming Wang
loginShell: /bin/bash
homeDirectory: /home/xiaoming
EOF# 使用命令添加用户
sudo ldapadd -x -D cn=admin,dc=localdomain,dc=com -W -f user.ldif
Enter LDAP Password:
adding new entry "uid=xiaoming,ou=People,dc=localdomain,dc=com"# 查看验证
sudo ldapsearch -x -LLL -b dc=localdomain,dc=com '(uid=xiaoming)' cn uidNumber gidNumber
dn: uid=xiaoming,ou=People,dc=localdomain,dc=com
cn: Xiaoming Wang
uidNumber: 10000
gidNumber: 5000
2.2 安装 LDAP 帐户管理器
LDAP 帐户管理器 (LAM) 是一个 Web 应用程序,可用作 OpenLDAP 服务器的前端。它允许您从 Web 浏览器管理 OpenLDAP 服务器,您可以从 Web 浏览器设置新用户、组等。
默认情况下,LAM 在 Ubuntu 存储库中可用。您可以使用下面的 apt 命令安装它。这将安装一些其他包,包括 PHP 和 Apache2 网络服务器
1、安装
sudo apt install ldap-account-manager
登录:http://192.168.92.10/lam
2、配置 LDAP 帐户管理器
单击“编辑服务器配置文件” 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”的更改。
此处的用户和groups和之前在创建组的时候名字一致
再次被重定向到 LDAP 帐户管理员登录页面。默认用户登录现已更改为“admin”。输入 OpenLDAP 密码的管理员密码,然后单击“登录”。你应该得到 LAM 仪表板。
3 简单使用
3.1 创建一个组
3.2 创建一个用户
# 在后台查看可以看到 SiLi
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:///
#####
dn: cn=SiLi,ou=Groups,dc=localdomain,dc=com
cn: SiLi
gidNumber: 10000
objectClass: posixGroup
memberUid: SiLi
总结
在Ubuntu22.04的时候可以使用apt的方式来安装,在安装LDAP的web 服务器的时候可以考虑选择 LDAP 帐户管理器 (LAM) 。因为 PHPLDAPadmin 安装时需要 php 的环境依赖,相对来说安装麻烦。此外在 PHPLDAPadmin 中创建组织和用户时与平常的语法有很大不同,对新手来说不友好。