银河麒麟 V10‑SP3 OpenLDAP 完整部署手册(cn‑config+MDB)
2026/9/6 9:54:03 网站建设 项目流程

标签:# 银河麒麟 #OpenLDAP #国产化运维 #LDAP

一、前言

本文基于银河麒麟 V10‑SP3 x86_64实操编写,采用官方cn‑config(OLC)动态配置方案、MDB 数据库,全程无交互式 vi 编辑,所有 LDIF 文件生成至当前执行目录。文档可复制直接执行,适合企业国产化环境部署。

环境参数清单

  • 操作系统:银河麒麟 V10‑SP3 x86_64
  • OpenLDAP 版本:openldap‑2.4.50‑8.ky10
  • 配置模式:cn‑config(OLC)动态配置
  • 后端数据库:MDB
  • 根域后缀:dc=mynewldap,dc=local
  • 服务 FQDN:ldap.mynewldap.local
  • 管理员 DN:cn=admin,dc=mynewldap,dc=local
  • 管理员密码:123456
  • LDIF 文件输出目录:脚本当前工作目录

二、环境准备

2.1 防火墙与 SELinux 配置(测试环境)

生产环境按需收紧端口策略,仅放行业务所需 IP

# 放行389明文LDAP、636加密LDAPS端口 firewall-cmd --permanent --add-service=ldap firewall-cmd --permanent --add-service=ldaps firewall-cmd --reload # SELinux设置宽松模式 setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

2.2 设置主机名与本地域名解析

OpenLDAP 强依赖 FQDN,主机名配置错误极易引发各类隐性故障

hostnamectl set-hostname ldap.mynewldap.local echo "127.0.0.1 ldap.mynewldap.local" >> /etc/hosts

2.3 更新 YUM 软件缓存

yum clean all yum makecache

三、安装 OpenLDAP 服务端与客户端工具

yum install -y openldap-servers openldap-clients

查看已安装版本

slapd -VV

四、初始化 MDB 数据库目录

# 清除旧数据库残留数据 rm -rf /var/lib/ldap/* # 复制数据库配置模板文件 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG # 修改数据库目录属主与权限 chown -R ldap:ldap /var/lib/ldap chmod 700 /var/lib/ldap

五、配置 slapd 监听地址(非交互式写入)

cat > /etc/sysconfig/slapd <<'EOF' SLAPD_URLS="ldapi:/// ldap://0.0.0.0:389 ldaps://0.0.0.0:636" EOF

⚠️重要说明:此处仅添加 636 端口监听地址,并未开启 SSL 加密,如需 LDAPS 正常运行,后续必须单独部署 SSL 证书。

六、启动服务并配置开机自启

systemctl daemon-reload systemctl start slapd systemctl enable slapd # 等待slapd后台初始化完成,延时不可省略 sleep 10

检查服务状态

systemctl status slapd

验证端口监听

netstat -tulpn | grep slapd

七、确认后端数据库类型(避坑关键)

麒麟 V10‑SP3 默认后端为 MDB,禁止硬编码 hdb,否则部署失败

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase -LLL

正常返回结果示例:

dn: olcDatabase={2}mdb,cn=config olcDatabase: {2}mdb

后续所有配置均以olcDatabase={2}mdb,cn=config作为数据库 DN。

八、生成管理员 SSHA 加密密码

slappasswd -s "123456"

复制输出哈希字符串,格式示例:{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx

九、修改后端根域、管理员账号与密码

自动在当前目录生成chrootpw.ldif,将上一步生成的 SSHA 哈希填入文件对应位置。

cat > chrootpw.ldif <<'EOF' dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=mynewldap,dc=local dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=mynewldap,dc=local dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}此处粘贴slappasswd生成的哈希串 EOF ldapmodify -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

校验配置写入结果

ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={2}mdb,cn=config -LLL

十、配置 ACL 访问控制权限(解决 50‑no write access)

root 本地 ldapi 连接默认无数据库写入权限,ACL 为必配项

cat > acl.ldif <<'EOF' dn: olcDatabase={2}mdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" write by * read EOF ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif

十一、导入三大基础 Schema

Schema 为系统自带文件,不生成自定义 LDIF,重复导入出现Already exists属于正常现象

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

十二、创建 LDAP 根域条目

olcRootDN 仅后端超级账号,必须导入根域条目后才可使用管理员账号密码登录

cat > base.ldif <<'EOF' dn: dc=mynewldap,dc=local objectClass: top objectClass: dcObject objectClass: organization o: My-LDAP-Organization dc: mynewldap dn: cn=admin,dc=mynewldap,dc=local objectClass: organizationalRole cn: admin description: LDAP Administrator EOF ldapadd -x -D "cn=admin,dc=mynewldap,dc=local" -w "123456" -f base.ldif

十三、创建用户、用户组组织单元

cat > ou.ldif <<'EOF' dn: ou=users,dc=mynewldap,dc=local objectClass: top objectClass: organizationalUnit ou: users dn: ou=groups,dc=mynewldap,dc=local objectClass: top objectClass: organizationalUnit ou: groups EOF ldapadd -x -D "cn=admin,dc=mynewldap,dc=local" -w "123456" -f ou.ldif

十四、部署完成校验

ldapsearch -x -D "cn=admin,dc=mynewldap,dc=local" -w "123456" -b "dc=mynewldap,dc=local"

成功返回完整目录树所有条目,则 OpenLDAP 服务端部署完成✅

另外,还可以使用第三方工具ldapadmin验证

十五、部署避坑清单

  1. slapd 启动后必须延时等待初始化完成,不可立刻执行 ldap 命令;
  2. 数据库 DN 禁止硬编码 hdb,银河麒麟 V10‑SP3 后端数据库为 MDB;
  3. root 本地 ldapi 连接默认无 MDB 写入权限,ACL 访问控制为必配;
  4. olcRootDN 只是后端配置账号,必须导入根域条目,才可账号密码登录;
  5. 仅添加 ldaps 监听地址不等于开启 SSL,636 端口正常使用必须配置证书;
  6. LDIF 文件生成在当前工作目录,导入配置期间不要切换目录,避免找不到文件报错。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询