Centos 7安装部署OpenLdap过程
今天收到公司任务需要部署一套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版本号
二、创建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
评论