Yum安装OpenLDAP 2.4.44:配置nis.schema导入posixaccount遇阻
Yum安装的OpenLDAP 2.4.44导入posixAccount条目解决方案
OpenLDAP 2.4.x版本已弃用传统的slapd.conf配置文件,默认采用动态配置模式(cn=config),以下是导入posixAccount条目的完整步骤:
1. 检查已加载的Schema
首先确认nis.schema是否已加载到动态配置中:
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn
如果输出中包含类似cn={x}nis,cn=schema,cn=config的条目,说明nis.schema已加载,直接跳到步骤3;否则执行步骤2。
2. 导入nis.schema到动态配置
2.1 转换schema为LDIF格式
# 创建临时空配置目录 mkdir -p /tmp/empty_config slaptest -f /dev/null -F /tmp/empty_config # 复制nis.schema到临时目录 cp /etc/openldap/schema/nis.schema /tmp/empty_config/cn=config/cn=schema/cn={0}nis.schema # 生成LDIF文件 slaptest -F /tmp/empty_config -n 0 > /tmp/nis.ldif
2.2 修改LDIF文件
编辑/tmp/nis.ldif,将开头的dn: cn=config替换为:
dn: cn={1}nis,cn=schema,cn=config
注:{1}为Schema序号,需根据现有Schema的最大序号递增(比如现有序号是0,就用1)
2.3 导入LDIF到cn=config
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/nis.ldif
3. 验证Schema加载状态
再次执行步骤1的命令,确认nis.schema条目已存在。
4. 创建并导入posixAccount条目
4.1 编写用户LDIF文件(示例:testuser.ldif)
dn: uid=testuser,ou=users,dc=example,dc=com objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount cn: testuser uid: testuser uidNumber: 10001 gidNumber: 10001 homeDirectory: /home/testuser loginShell: /bin/bash userPassword: {SSHA}你的加密密码 shadowLastChange: 18900 shadowMin: 0 shadowMax: 99999 shadowWarning: 7
注:dc=example,dc=com需替换为你的实际LDAP域名,密码可通过slappasswd生成
4.2 导入用户条目
ldapadd -x -D cn=admin,dc=example,dc=com -W -f testuser.ldif
执行后输入LDAP管理员密码即可完成导入。
原启动异常说明
你之前用slapd.conf启动报错,是因为OpenLDAP 2.4.x已将静态配置文件标记为过时,systemd服务脚本会触发警告,且可能因权限、PID文件路径不匹配导致启动失败。切换到动态配置模式是官方推荐的标准方式。
内容的提问来源于stack exchange,提问作者Mark Rostron
相关产品推荐
相关产品推荐

