本文共 3456 字,大约阅读时间需要 11 分钟。
OpenLDAP目录中的信息是以树状的层次结构来存储数据,最顶层即根部称作“基准DN”,形如“dc=domain,dc=com”或者“o=domain.com”,前一种方式更为灵活也是Windows AD中使用的方式。在根目录的下面有很多的文件和目录,为了把这些大量的数据从逻辑上分开,OpenLDAP像其它的目录服务协议一样使用OU(Organization Unit,组织单元),可以用来表示公司内部机构,如部门等。同时OU还可以有子OU,用来表示更为细致的分类。
OpenLDAP中每条记录都有唯一(主键)的名字DN(Distinguished Name),其处在“叶子”位置的部分称作RDN(用户条目的相对标识名)。如dn:cn=user1,ou=dept1,dc=domain,dc=com中cn即为RDN,而RDN在一个OU中必须是唯一的。
slapd -VV
@(#) $OpenLDAP: slapd 2.4.44 (Aug 4 2017 14:23:27) $ mockbuild@c1bm.rdu2.centos.org:/builddir/build/BUILD/openldap-2.4.44/openldap-2.4.44/servers/slapd
cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
注意:从OpenLDAP2.4.23版本开始所有配置数据都保存在/etc/openldap/slapd.d/中,建议不再使用slapd.conf作为配置文件。
配置管理员密码
slappasswd -s 123456
{SSHA}JZnUfxgOf+LPK0xgdyRRQIF/JjlZoC8Q
修改 /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif文件
cd /etc/openldap/slapd.d/cn=config/
vi olcDatabase=\{2\}hdb.ldifolcSuffix: dc=ftpse,dc=comolcRootDN: cn=Manager,dc=ftpse,dc=comolcRootPW: {SSHA}JZnUfxgOf+LPK0xgdyRRQIF/JjlZoC8Q注意:默认可能不存在olcRootPW,再文件尾添加即可。
修改olcDatabase={1}monitor.ldif文件
vi olcDatabase=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern 7 al,cn=auth" read by dn.base="cn=Manager,dc=ftpse,dc=com" read by * none
主要是修改olcAccess中管理员的信息,将domain和上一个文件改成一致的。
验证OpenLDAP的基本配置,使用如下命令:
slaptest -u
5a600913 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"5a600913 ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"config file testing succeeded
会有两个checksum error,这个不用管,我们手动修改了文件肯定checksum不对了。
只要注意最后一行的 testing结果就行。这里的结果是 succeeeded ,没有问题。启动OpenLDAP服务
systemctl restart slapd
查看启动情况和端口
netstat -antup | grep slapd
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 9419/slapdtcp6 0 0 :::389 :::* LISTEN 9419/slapd
如果提示没有netstat命令,yum安装即可
yum -y install net-tools配置OpenLDAP数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap. /var/lib/ldap/DB_CONFIG
chmod 600 /var/lib/ldap/DB_CONFIG导入基本Schema(可有选择导入)
cd /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif如导入(cosine.ldif,nis.ldif,inetorgperson.ldif)
导入组织结构
dn: dc=ftpse,dc=com objectClass: top objectClass: dcObject objectclass: organization o: ftpse com dc: ftpse dn: cn=Manager,dc=ftpse,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager dn: ou=People,dc=ftpse,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=ftpse,dc=com objectClass: organizationalUnit ou: Group
使用LDAPAdmin工具连接查看信息。
转载地址:http://rpjko.baihongyu.com/