如何在CentOS Stream 10上安装与配置OpenLDAP的详细教程:从入门到实战

如何在CentOS Stream 10上安装与配置OpenLDAP的详细教程:从入门到实战

在企业环境中,LDAP是一种用于存储和访问分布式目录信息的强大工具。OpenLDAP 是一种开源实现,广泛用于集中式身份验证和信息管理。本文将详细介绍如何在 CentOS Stream 10 上安装和配置 OpenLDAP,并确保整个过程具有较强的实操性,帮助您快速搭建稳定的LDAP环境。

一、部署环境准备

1. 系统要求

操作系统:CentOS Stream 10

  • CPU:2核及以上
  • 内存:4GB 及以上(推荐 8GB 以获得更佳性能)
  • 磁盘空间:至少 10GB 空闲空间
  • 网络连接:确保服务器可访问互联网以安装必要的软件包

2. 更新系统

在安装前,确保您的系统是最新的,以减少潜在的兼容性问题:

sudo dnf update -y
sudo dnf upgrade -y

二、安装 OpenLDAP

1. 安装 OpenLDAP 服务器和客户端工具

在 CentOS Stream 10 中,可以使用 `dnf` 命令直接安装 OpenLDAP 及其相关工具:

sudo dnf install -y openldap openldap-servers openldap-clients

2. 启动并启用服务

安装完成后,启用并启动 OpenLDAP 服务:

sudo systemctl enable slapd
sudo systemctl start slapd
sudo systemctl status slapd

确保 `slapd` 处于 active (running) 状态。

3. 设置 OpenLDAP 的管理员密码

生成一个强密码以用作管理员密码:

sudo slappasswd

> 示例输出:

New password:
Re-enter new password:
{SSHA}Qz8zqYh23XQ/N0fM4xiR6QAdh1t3rOp1

记录下 `{SSHA}Qz8zqYh23XQ/N0fM4xiR6QAdh1t3rOp1`(此为加密后的密码),稍后将在配置中使用。

三、配置 OpenLDAP

1. 备份默认配置

为防止误操作,建议先备份默认配置文件:

sudo cp /etc/openldap/slapd.d /etc/openldap/slapd.d.bak
sudo cp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.bak

2. 创建 LDAP 数据库配置

首先创建 `db.ldif` 文件以初始化数据库:

sudo nano db.ldif

添加以下内容:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}Qz8zqYh23XQ/N0fM4xiR6QAdh1t3rOp1

3. 导入配置

使用 `ldapmodify` 命令导入配置:

ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

四、创建 LDAP 基础结构

1. 创建 `base.ldif` 文件

sudo nano base.ldif

在其中写入以下内容:

dn: dc=example,dc=com
objectClass: top
objectClass: domain
dc: example

dn: cn=admin,dc=example,dc=com
objectClass: organizationalRole
cn: admin
description: Directory Administrator

dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups

2. 导入基础结构

ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f base.ldif

系统会提示输入管理员密码,输入之前设置的密码即可。

五、测试 OpenLDAP 配置

1. 添加测试用户

创建 `user.ldif` 文件:

sudo nano user.ldif

添加以下内容:

dn: uid=johndoe,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
cn: John Doe
sn: Doe
uid: johndoe
mail: johndoe@example.com
userPassword: {SSHA}abc123password
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/johndoe

导入用户:

ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f user.ldif

2. 查询用户

验证用户是否成功添加:

ldapsearch -x -b "dc=example,dc=com" "(objectclass=*)"

六、配置 LDAP 访问控制

编辑 `access.ldif`:

sudo nano access.ldif

示例配置:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to attrs=userPassword by self write by anonymous auth by dn.base="cn=admin,dc=example,dc=com" write by * none
olcAccess: to * by self read by dn.base="cn=admin,dc=example,dc=com" write by * read

导入配置:

ldapmodify -Y EXTERNAL -H ldapi:/// -f access.ldif

七、启用 TLS/SSL 加密(可选但推荐)

1. 安装证书工具

sudo dnf install -y mod_ssl

2. 创建自签名证书

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/openldap/certs/ldap.key -out /etc/openldap/certs/ldap.crt

3. 更新配置

编辑 `tls.ldif` 文件:

sudo nano tls.ldif

dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/ldap.crt
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/ldap.key

导入 TLS 配置:

ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif

八、配置防火墙

确保端口 389(LDAP)和 636(LDAPS)已开放:

sudo firewall-cmd --add-service=ldap --permanent
sudo firewall-cmd --add-service=ldaps --permanent
sudo firewall-cmd --reload

九、验证 OpenLDAP 配置

使用以下命令进行终端测试:

ldapwhoami -x -D "cn=admin,dc=example,dc=com" -W

若返回 `dn:cn=admin,dc=example,dc=com` 则说明认证成功。

通过以上步骤,您应该已成功在 CentOS Stream 10 上安装并配置了OpenLDAP服务器。此配置适用于企业环境中的用户管理、访问控制和目录服务。未来您可以进一步扩展功能,如搭建多主节点(Multi-Master Replication)环境、结合 Kerberos 实现更安全的认证机制等。

未经允许不得转载:A5数据 » 如何在CentOS Stream 10上安装与配置OpenLDAP的详细教程:从入门到实战

相关文章

contact