当前位置:首页 > 虚拟主机 > 正文

如何配置LDAP服务器?LDAP服务器配置详细步骤

配置LDAP服务器(以OpenLDAP为例)的详细步骤如下:


安装OpenLDAP

Ubuntu/Debian

sudo apt update sudo apt install slapd ldap-utils

CentOS/RHEL

sudo yum install openldap-servers openldap-clients


初始化配置

设置管理员密码

sudo dpkg-reconfigure slapd # Debian/Ubuntu

或手动配置:

sudo slappasswd # 生成加密密码(复制输出的SSHA哈希)

编辑基础配置(LDIF文件)

创建 init.ldif:

dn: olcDatabase={1}mdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=example,dc=com replace: olcRootDN olcRootDN: cn=admin,dc=example,dc=com replace: olcRootPW olcRootPW: {SSHA}xxxxxxxx # 替换为生成的密码哈希

应用配置:

如何配置LDAP服务器?LDAP服务器配置详细步骤 第1张

创建基础目录结构

创建 base.ldif:

如何配置LDAP服务器?LDAP服务器配置详细步骤 第2张

导入结构:

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


添加用户/组

添加用户(user.ldif)

dn: uid=john,ou=people,dc=example,dc=com objectClass: inetOrgPerson objectClass: posixAccount uid: john cn: John Doe sn: Doe givenName: John userPassword: {SSHA}xxxxxxx # 用slappasswd生成 uidNumber: 1000 gidNumber: 1000 homeDirectory: /home/john

添加组(group.ldif)

dn: cn=developers,ou=groups,dc=example,dc=com objectClass: posixGroup cn: developers gidNumber: 1000 memberUid: john

导入数据:

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


配置TLS加密(可选)

生成自签名证书

sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/ldap/ldap.key -out /etc/ldap/ldap.crt -days 365 -nodes -subj "/CN=ldap.example.com"

设置权限

sudo chown openldap:openldap /etc/ldap/ldap.* sudo chmod 400 /etc/ldap/ldap.key

配置LDAP使用TLS

创建 tls.ldif:

如何配置LDAP服务器?LDAP服务器配置详细步骤 第3张

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

应用配置:

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


防火墙与启动服务

sudo ufw allow ldap # 默认端口389 sudo ufw allow ldaps # 加密端口636 sudo systemctl restart slapd sudo systemctl enable slapd


验证操作

搜索所有条目

ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com "(objectClass=*)"

测试用户登录

ldapwhoami -x -D "uid=john,ou=people,dc=example,dc=com" -W


常用管理命令

  • 添加条目:ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f file.ldif
  • 修改条目:ldapmodify -x -D "cn=admin,dc=example,dc=com" -W -f change.ldif
  • 删除条目:ldapdelete -x -D "cn=admin,dc=example,dc=com" -W "uid=john,ou=people,dc=example,dc=com"


客户端配置

Linux客户端(SSSD或libnss-ldap)

sudo apt install libnss-ldap libpam-ldap ldap-utils

配置 /etc/ldap/ldap.conf:

BASE dc=example,dc=com URI ldap://ldap.example.com TLS_CACERT /etc/ssl/certs/ca-certificates.crt


故障排查

  1. 检查日志:journalctl -u slapd
  2. 测试配置:slaptest -u
  3. 强制重建索引:sudo slapindex

注意:生产环境建议使用专业CA证书,并配置ACL控制访问权限,详细文档参考:OpenLDAP官方文档

0