使用如下命令安装OpenLDAP:
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools
slapd -VV
slappasswd -s 123456
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
在配置文件中增加一行:
olcRootPW: {SSHA}cz194nylg0li+7PAiECh6Jt0UNXPv3k2
其中cn=root中的root表示OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP管理员的密码。
olcSuffix: dc=nmcm,dc=com
olcRootDN: cn=root,dc=nmcm,dc=com
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=root,dc=nmcm,dc=com" read by * none
验证OpenLDAP的基本配置
slaptest -u
systemctl enable slapd
systemctl start slapd
systemctl status slapd
启动错误
Read/write permissions for DB file '/var/lib/ldap/id2entry.bdb' are required.
Read/write permissions for DB file '/var/lib/ldap/dn2id.bdb' are required.
权限问题
chown -R ldap.ldap /etc/openldap/
chown -R ldap.ldap /var/lib/ldap/
lsof -i:389
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/
OpenLDAP默认使用的数据库是BerkeleyDB,/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。
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
migrate_common.ph文件主要用于生成ldif文件使用
vim /usr/share/migrationtools/migrate_common.ph
$DEFAULT_MAIL_DOMAIN = “nmcm.com”;
$DEFAULT_BASE = “dc=nmcm,dc=com”;
$EXTENDED_SCHEMA = 1;
默认情况下OpenLDAP是没有普通用户的,但是有一个管理员用户,就是前面配置的root。
添加用户组,使用如下命令:
groupadd nsccwx
groupadd nmcm
添加用户并设置密码,使用如下命令:
useradd -g nsccwx zhaojq
useradd -g nmcm hankm
echo ‘123456’ | passwd –stdin zhaojq
echo ‘123456’ | passwd –stdin hankm
查看配置的相关属性:
grep ":10[0-9][0-9]" /etc/passwd > /root/users
cat users
grep ":10[0-9][0-9]" /etc/group > /root/groups
cat groups
根据上述生成的用户和用户组属性,使用migrate_passwd.pl文件生成要添加用户和用户组的ldif。
/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
cat users.ldif
/usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
cat groups.ldif
新加用户到OpenLDAP中,直接修改users.ldif文件即可。
配置openldap基础的数据库:
vim /root/base.ldif
dn: dc=nmcm,dc=com
o: nmcm com
dc: nmcm
objectClass: top
objectClass: dcObject
objectclass: organization
dn: cn=root,dc=nmcm,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager
dn: ou=People,dc=nmcm,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=nmcm,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
ldapadd -x -w "123456" -D "cn=root,dc=nmcm,dc=com" -f /root/base.ldif
ldapadd -x -w “123456” -D “cn=root,dc=nmcm,dc=com” -f /root/users.ldif
运行错误
ldap_add: No such object (32)
matched DN: dc=nmcm,dc=com
ldapadd -x -w “123456” -D “cn=root,dc=nmcm,dc=com” -f /root/groups.ldif