ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

银河麒麟 V10‑SP3 OpenLDAP 完整部署手册(cn‑config+MDB)

银河麒麟 V10‑SP3 OpenLDAP 完整部署手册(cn‑config+MDB) 标签# 银河麒麟 #OpenLDAP #国产化运维 #LDAP一、前言本文基于银河麒麟 V10‑SP3 x86_64实操编写采用官方cn‑config(OLC)动态配置方案、MDB 数据库全程无交互式 vi 编辑所有 LDIF 文件生成至当前执行目录。文档可复制直接执行适合企业国产化环境部署。环境参数清单操作系统银河麒麟 V10‑SP3 x86_64OpenLDAP 版本openldap‑2.4.50‑8.ky10配置模式cn‑configOLC动态配置后端数据库MDB根域后缀dcmynewldap,dclocal服务 FQDNldap.mynewldap.local管理员 DNcnadmin,dcmynewldap,dclocal管理员密码123456LDIF 文件输出目录脚本当前工作目录二、环境准备2.1 防火墙与 SELinux 配置测试环境生产环境按需收紧端口策略仅放行业务所需 IP# 放行389明文LDAP、636加密LDAPS端口 firewall-cmd --permanent --add-serviceldap firewall-cmd --permanent --add-serviceldaps firewall-cmd --reload # SELinux设置宽松模式 setenforce 0 sed -i s/^SELINUX.*/SELINUXpermissive/ /etc/selinux/config2.2 设置主机名与本地域名解析OpenLDAP 强依赖 FQDN主机名配置错误极易引发各类隐性故障hostnamectl set-hostname ldap.mynewldap.local echo 127.0.0.1 ldap.mynewldap.local /etc/hosts2.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_URLSldapi:/// 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 cnconfig olcDatabase -LLL正常返回结果示例dn: olcDatabase{2}mdb,cnconfig olcDatabase: {2}mdb后续所有配置均以olcDatabase{2}mdb,cnconfig作为数据库 DN。八、生成管理员 SSHA 加密密码slappasswd -s 123456复制输出哈希字符串格式示例{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx九、修改后端根域、管理员账号与密码自动在当前目录生成chrootpw.ldif将上一步生成的 SSHA 哈希填入文件对应位置。cat chrootpw.ldif EOF dn: olcDatabase{2}mdb,cnconfig changetype: modify replace: olcSuffix olcSuffix: dcmynewldap,dclocal dn: olcDatabase{2}mdb,cnconfig changetype: modify replace: olcRootDN olcRootDN: cnadmin,dcmynewldap,dclocal dn: olcDatabase{2}mdb,cnconfig 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,cnconfig -LLL十、配置 ACL 访问控制权限解决 50‑no write accessroot 本地 ldapi 连接默认无数据库写入权限ACL 为必配项cat acl.ldif EOF dn: olcDatabase{2}mdb,cnconfig changetype: modify add: olcAccess olcAccess: {0}to * by dn.basegidNumber0uidNumber0,cnpeercred,cnexternal,cnauth write by * read EOF ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif十一、导入三大基础 SchemaSchema 为系统自带文件不生成自定义 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: dcmynewldap,dclocal objectClass: top objectClass: dcObject objectClass: organization o: My-LDAP-Organization dc: mynewldap dn: cnadmin,dcmynewldap,dclocal objectClass: organizationalRole cn: admin description: LDAP Administrator EOF ldapadd -x -D cnadmin,dcmynewldap,dclocal -w 123456 -f base.ldif十三、创建用户、用户组组织单元cat ou.ldif EOF dn: ouusers,dcmynewldap,dclocal objectClass: top objectClass: organizationalUnit ou: users dn: ougroups,dcmynewldap,dclocal objectClass: top objectClass: organizationalUnit ou: groups EOF ldapadd -x -D cnadmin,dcmynewldap,dclocal -w 123456 -f ou.ldif十四、部署完成校验ldapsearch -x -D cnadmin,dcmynewldap,dclocal -w 123456 -b dcmynewldap,dclocal成功返回完整目录树所有条目则 OpenLDAP 服务端部署完成✅另外还可以使用第三方工具ldapadmin验证十五、部署避坑清单slapd 启动后必须延时等待初始化完成不可立刻执行 ldap 命令数据库 DN 禁止硬编码 hdb银河麒麟 V10‑SP3 后端数据库为 MDBroot 本地 ldapi 连接默认无 MDB 写入权限ACL 访问控制为必配olcRootDN 只是后端配置账号必须导入根域条目才可账号密码登录仅添加 ldaps 监听地址不等于开启 SSL636 端口正常使用必须配置证书LDIF 文件生成在当前工作目录导入配置期间不要切换目录避免找不到文件报错。
返回列表