在做集群渲染管理软件时候遇到 LDAP 问题,DrQueueOnRails 是 DrQueue 的 ruby web 接口,只有 LDAP 一种验证方式,就有了下面的安装步骤。
目录
1 安装 LDAP
2 修改 LDAP 配置文件
3 修改 slapd.conf
4 ldap_bind: Invalid credentials (49) 错误问题解决
安装 LDAP yum install openldap-servers openldap-clients修改主机名:
hostname master.local.com sysctl -w kernel.hostname=master.local.com echo '192.168.8.123 master.local.com master' >> /etc/hosts sed -i 's/HOSTNAME=.*$/HOSTNAME=master.local.com/g' /etc/sysconfig/network 修改 LDAP 配置文件 vim /etc/openldap/ldap.conf BASE dc=local.com URI ldap://192.168.8.123 cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown -R ldap:ldap /var/lib/ldap 修改 slapd.conf vim /etc/openldap/slapd.conf 找到并修改如下内容: suffix "dc=local.com" rootdn "cn=master,dc=local.com" rootpw geek #ldapadd 时候要用的密码,中间用俩 TAB 键测试配置文件是否正确:
slaptest -u -f /etc/openldap/slapd.conf config file testing succeeded创建待验证的用户:
useradd geek echo '123456' | passwd --stdin geek安装迁移工具:
yum -y install migrationtools会把一些迁移用户相关信息的脚本放在 /usr/share/migrationtools 下
修改迁移脚本:
创建基本数据文件:
cd /usr/share/migrationtools/ ./migrate_base.pl > base.ldif编辑 base.ldif 文件,删除其它条目,保留如下信息:
dn: dc=local.com dc: local.com objectClass: top objectClass: domain dn: ou=People,dc=local.com ou: People objectClass: top objectClass: organizationalUnit dn: ou=Group,dc=local.com ou: Group objectClass: top objectClass: organizationalUnit创建用户数据库文件:
./migrate_passwd.pl /etc/passwd ./user.ldif编辑 user.ldif 文件,只保留 geek 用户相关条目:
dn: uid=geek,ou=People,dc=local.com uid: geek cn: geek objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$6$tFEuTisK$PA0x.Ib1nOmiafK4wedqTnT06nQGJxVnzzpHQYu1O8SPXy5o32KkXKzzkn3w1LM0vpauFgjDQ4FudpnoS2t6O. shadowLastChange: 15907 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 500 gidNumber: 500 homeDirectory: /home/geek创建用户组数据库文件:
./migrate_group.pl /etc/group groups.ldif编辑 groups.ldif 文件,只保留 geek 组的条目:
dn: cn=geek,ou=Group,dc=local.com objectClass: posixGroup objectClass: top cn: geek userPassword: {crypt}x gidNumber: 500启动服务:
/etc/init.d/slapd restart chkconfig slapd on依次添加 base.ldif、user.ldif、groups.ldif 到 LDAP 中:
ldapadd -D "cn=master,dc=local.com" -W -x -f base.ldif Enter LDAP Password: # 输入在 /etc/openldap/slapd.conf 中 rootpw 项的值. ldap_bind: Invalid credentials (49)推荐阅读:
RedHat6下构建LDAP服务
Zimbra故障——Unable to determine enabled services from LDAP