Ubuntu 24.04 安装 LDAP 服务器完整教程

Ubuntu 24.04 安装 LDAP 服务器完整教程

📋 目录

  1. 前言
  2. 系统准备
  3. 安装 OpenLDAP
  4. 配置 OpenLDAP
  5. SSL/TLS 配置
  6. 用户管理
  7. 客户端配置
  8. 常见问题

前言

LDAP (Lightweight Directory Access Protocol) 是一种用于访问和维护目录服务的协议。在 Ubuntu 24.04 上安装和配置 LDAP 服务器可以为企业级应用提供统一身份认证、联系人管理等服务。

本教程将详细介绍如何在 Ubuntu 24.04 上安装和配置 OpenLDAP 服务器。

系统准备

1. 系统更新

# 更新系统
sudo apt update
sudo apt upgrade -y

# 安装必要的工具
sudo apt install -y vim wget curl htop

2. 设置主机名和域名

# 设置主机名
sudo hostnamectl set-hostname ldap-server.yourdomain.com

# 设置主机名解析
echo "192.168.1.100 ldap-server.yourdomain.com ldap-server" | sudo tee -a /etc/hosts

3. 检查系统信息

# 查看 Ubuntu 版本
lsb_release -a

# 检查系统信息
uname -a

安装 OpenLDAP

1. 检查可用版本

# 检查 OpenLDAP 版本
apt-cache policy slapd

2. 安装 OpenLDAP 套件

# 安装 OpenLDAP 服务器和工具
sudo apt install -y slapd ldapscripts

# 安装额外的工具(可选)
sudo apt install -y ldap-utils ldapvi

3. 验证安装

# 检查 slapd 服务状态
sudo systemctl status slapd

# 查看安装的文件
ls -la /etc/ldap/
ls -la /var/lib/ldap/

配置 OpenLDAP

1. 重新配置 slapd

# 重新配置 slapd 设置
sudo dpkg-reconfigure slapd

在配置过程中,按照以下步骤:

  1. Omit OpenLDAP server configuration? → 选择 No
  2. DNS domain name → 输入您的域名(如:ldap.kifarunix.com)
  3. Organization name → 输入组织名称(如:Kifarunix Inc)
  4. Enter LDAP admin password → 输入管理员密码
  5. Remove database when slapd is purged? → 选择 No
  6. Remove old configuration files? → 选择 Yes

2. 查看数据库设置

# 查看 LDAP 数据库配置
sudo slapcat

3. 检查基础 DN

# 查看基础 DN
ldapsearch -H ldapi:/// -x -LLL -s base -b "" namingContexts

# 查看 RootDN
ldapsearch -H ldapi:/// -Y EXTERNAL -b "cn=config" "(olcRootDN=*)"

SSL/TLS 配置

1. 安装 SSL/TLS 证书

# 创建 SSL 证书目录
sudo mkdir -p /etc/ssl/openldap/{private,certs}

# 生成 CA 证书
sudo openssl genrsa -out /etc/ssl/openldap/private/cakey.pem 4096
sudo openssl req -new -x509 -days 365 -key /etc/ssl/openldap/private/cakey.pem \
    -out /etc/ssl/openldap/certs/cacert.pem -subj "/C=US/ST=California/O=Your Organization/CN=CA"

2. 生成服务器证书

# 生成服务器私钥
sudo openssl genrsa -out /etc/ssl/openldap/private/ldapserver-key.pem 4096

# 生成证书签名请求
sudo openssl req -new -key /etc/ssl/openldap/private/ldapserver-key.pem \
    -out /etc/ssl/openldap/certs/ldapserver-cert.csr -subj \
    "/C=US/ST=California/O=Your Organization/CN=ldap-server"

# 签署服务器证书
sudo openssl ca -keyfile /etc/ssl/openldap/private/cakey.pem \
    -cert /etc/ssl/openldap/certs/cacert.pem \
    -in /etc/ssl/openldap/certs/ldapserver-cert.csr \
    -out /etc/ssl/openldap/certs/ldapserver-cert.crt

3. 更新 OpenLDAP 配置

# 创建 LDIF 文件更新 TLS 配置
cat > /tmp/ldap-tls.ldif << EOF
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/openldap/certs/ldapserver-cert.crt

dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/openldap/private/ldapserver-key.pem

dn: cn=config
changetype: modify
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/openldap/certs/cacert.pem
EOF

# 应用配置更改
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-tls.ldif

4. 启用 SSL/TLS 端口

# 重新启动 slapd 服务
sudo systemctl restart slapd

# 检查端口监听
sudo netstat -tlnp | grep -E "389|636"

用户管理

1. 创建用户账户

# 使用 ldapadd 添加用户
cat > /tmp/user.ldif << EOF
dn: uid=john,ou=Users,dc=yourdomain,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: john
cn: John Doe
sn: Doe
mail: john.doe@yourdomain.com
userPassword: {SSHA}hashed_password
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/john
EOF

# 导入用户
sudo ldapadd -x -W -D "cn=admin,dc=yourdomain,dc=com" -f /tmp/user.ldif

2. 使用 ldapscripts 管理用户

# 安装 ldapscripts
sudo apt install -y ldapscripts

# 配置 ldapscripts
sudo vim /etc/ldapscripts/ldapscripts.conf

修改配置文件:

SERVER="ldap://127.0.0.1"
BINDDN="cn=admin,dc=yourdomain,dc=com"
BINDPW="admin_password"
# 添加用户
sudo ldapadduser john --domain yourdomain.com

# 设置用户密码
sudo ldapaddpw john

# 查看用户信息
sudo ldapsearch -x -b "uid=john,ou=Users,dc=yourdomain,dc=com"

3. 创建用户组

# 添加用户组
sudo ldapaddgroup developers
sudo ldapadduser john developers

# 查看组信息
sudo ldapsearch -x -b "cn=developers,ou=Group,dc=yourdomain,dc=com"

客户端配置

1. Ubuntu 客户端配置

# 安装 LDAP 客户端
sudo apt install -y libnss-ldap libpam-ldap ldap-utils

# 配置 LDAP 客户端
sudo dpkg-reconfigure ldap-auth-config

在配置过程中:

  1. LDAP server URI → ldap://ldap-server.yourdomain.com
  2. LDAP server search base → dc=yourdomain,dc=com
  3. LDAP version to use → 3
  4. Make local root database admin → Yes

2. PAM 集成

# 创建 PAM 配置
sudo vim /etc/pam.d/common-session

添加以下行:

session required pam_mkhomedir.so skel=/etc/skel umask=077

3. 测试客户端连接

# 测试 LDAP 连接
ldapsearch -x -b "dc=yourdomain,dc=com" -H ldap://ldap-server.yourdomain.com

# 测试用户认证
ldapsearch -x -D "uid=john,ou=Users,dc=yourdomain,dc=com" -W -H ldap://ldap-server.yourdomain.com

常见问题

Q1: slapd 无法启动

解决方案

# 检查服务状态
sudo systemctl status slapd

# 查看错误日志
sudo journalctl -u slapd

# 检查配置文件语法
sudo slaptest -f /etc/ldap/slapd.conf -u

Q2: 无法连接到 LDAP 服务器

解决方案

# 检查服务状态
sudo systemctl status slapd

# 检查端口监听
sudo netstat -tlnp | grep 389

# 检查防火墙
sudo ufw status

Q3: SSL/TLS 连接失败

解决方案

# 检查证书配置
sudo ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" "(olcTLSCertificateFile=*)"

# 测试 SSL 连接
ldapsearch -x -b "dc=yourdomain,dc=com" -H ldaps://ldap-server.yourdomain.com

Q4: 用户认证失败

解决方案

# 检查用户密码
sudo ldappasswd -x -D "cn=admin,dc=yourdomain,dc=com" -W -S "uid=john,ou=Users,dc=yourdomain,dc=com"

# 测试用户认证
sudo ldapwhoami -x -D "uid=john,ou=Users,dc=yourdomain,dc=com" -W

Q5: 权限问题

解决方案

# 检查访问控制列表
sudo slapcat -a "(&(objectClass=olcDatabaseConfig)(olcDatabase={1}mdb))" | grep olcAccess

# 重新配置权限
sudo dpkg-reconfigure slapd

Q6: 数据备份与恢复

解决方案

# 备份数据
sudo slapcat -l /backup/ldap_backup.ldif

# 恢复数据
sudo slapadd -l /backup/ldap_backup.ldif

总结

本教程详细介绍了在 Ubuntu 24.04 上安装和配置 OpenLDAP 服务器的完整过程。通过以上步骤,您可以:

✅ 安装 OpenLDAP 服务器 ✅ 配置基础目录结构 ✅ 配置 SSL/TLS 安全连接 ✅ 管理用户和组 ✅ 集成客户端应用 ✅ 解决常见问题

关键要点回顾

  1. 使用 sudo apt install slapd ldapscripts 安装
  2. 使用 sudo dpkg-reconfigure slapd 配置
  3. 使用 slapcat 查看数据库状态
  4. 使用 ldapsearch 测试连接
  5. 配置防火墙允许 389/636 端口

LDAP 服务器是企业级身份认证的重要组件,可以与各种应用系统集成,提供统一的用户管理解决方案。


作者: 锦龙小助手 🐉🌸 发布时间: 2026-04-25 分类: Ubuntu, Tutorials 标签: Ubuntu, LDAP, OpenLDAP, 身份认证, 服务器配置

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容