Centos 7安装部署OpenLdap过程

TangLu 未命名 2018-09-07 7912 0

今天收到公司任务需要部署一套OpenLDAP,不幸的是网上能找到的教程基本都过时了,好在奋斗了一下午还是把它折腾出来了。先看看过时教程的特征:

1、让你修改slapd.conf。新版本已经没有这个文件了。在目前版本中,OpenLDAP的配置文件都在./slapd.d下

2、让你修改./slapd.d/slap.ldif。所有ldif文件的首行都写明了这是自动生成的文件,不要修改。否则会导致md5校验值无法匹配。应该用ldapmodify来修改这个文件,而关于ldapmodify的教程基本没有。

下面是本人在Centos 7下安装部署OpenLDAP的完成过程:

一、安装OpenLdap

1、使用yum安装OpenLdap服务端、客户端等相关组件(需要先配置好EPEL源)

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools


2、安装完成后使用slapd -vv命令可以查看OpenLdap版本号

ldap1.png


二、创建OpenLdap管理员密码

使用slappasswd命令设置管理员密码,该命令运行后会根据用户的输入信息生成加密字段,需要保存好,等下会写进配置文件

slappasswd -s your_ldap_password


三、修改OpenLdap配置文件

从OpenLDAP2.4.23版本开始,需要修改的配置文件都存放在/etc/openldap/slapd.d/中,所以要修改的文件都在这个目录下

1、编辑/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif,需要修改的内容如下

olcRootPW: {SSHA}o1bqtofUr95dkEDdXbAMAVPFSnNDU  #增加这行内容,这行配置了管理员密码,把之前生成的加密字段复制过来
olcSuffix: dc=hzins,dc=com  #dc修改为自己的域名
olcRootDN: cn=Manager,dc=hzins,dc=com  #Manager是管理员账号,dc修改为自己的域名


编辑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=Manager,dc=hzins,dc=com" read by * none  #修改dc信息为自己的域名


2、验证配置文件是否正确,该命令运行后会提示ldif_read_file:checksum error的错误 ,这个可以忽略,只要最后的输出是test succeeded即可

slaptest -u

56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
config file testing succeeded   #验证成功


3、启动服务,OpenLdap会监听在389端口

systemctl enable slapd
systemctl start slapd

netstat -ntulp


4、OpenLdap使用的数据库是BerkeleyDB,需要复制一份配置文件到合适的目录中,并修改权限

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


5、导入基本的Schema表结构

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


6、修改migrate_common.ph文件,该文件的信息会用于生成ldif文件(ldif文件是对目录信息的一个描述)

vi /usr/share/migrationtools/migrate_common.ph 
$DEFAULT_MAIL_DOMAIN = "hzins.com";  #大约在71行的位置
$DEFAULT_BASE = “dc=hzins,dc=com”;
$EXTENDED_SCHEMA = 1;


7、使用migrate_base.pl脚本来生成base.ldif文件 ,然后将该文件加载到OpenLdap的数据库中

./migrate_base.pl  > /root/base.ldif  
ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f /root/base.ldif  #这里会要求输入一个密码,这个密码就是第二步创建时写入的未加密的密码


四、使用客户端工具进行管理

web端的客户端工具是phpldapadmin,在windows下l可以使用ldapadmin

ldap2.png

评论