一些基本概念
Server的安装与配置
Web管理工具PHPldapadmin
Clients的安装与配置
生产环境使用OpenLDAP做认证(主备、Server安全、TLS)
Server的安装与配置
Web管理工具PHPldapadmin
Clients的安装与配置
生产环境使用OpenLDAP做认证(主备、Server安全、TLS)
二、Server端的安装与配置
openldap这玩意对细节的要求非常苛刻,稍不注意就会报错。
openldap这玩意对细节的要求非常苛刻,稍不注意就会报错。
SERVER端,操作系统:CentOS6.2:
I、OpenLDAP的安装与基本配置
1)Yum安装
I、OpenLDAP的安装与基本配置
1)Yum安装
- yum-yinstallopenldapopenldap-serversopenldap-clientsopenldap-devel //一定要全安装,否则后面可能会报错
2)vi /etc/sysconfig/ldap,确保SLAPD_LDAPI=yes
3)vi /etc/openldap/slapd.conf,添加如下两行:
3)vi /etc/openldap/slapd.conf,添加如下两行:
- pidfile/var/run/openldap/slapd.pid
- argsfile/var/run/openldap/slapd.args
- cp-a/etc/openldap/slapd.d/etc/openldap/slapd.d.BAK2012-03-26
- rm-rf/etc/openldap/slapd.d/*
- slaptest-f/etc/openldap/slapd.conf-F/etc/openldap/slapd.d
- olcAccess:{0}to*bydn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authmanageby*break
注意严格按照原文件单词之间的空格数进行修改,by前面有两个空格
b) vi /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif,输入以下行:
b) vi /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif,输入以下行:
- dn:olcDatabase={1}monitor
- objectClass:olcDatabaseConfig
- olcDatabase:{1}monitor
- olcAccess:{1}to*bydn.exact=gidNumber=0+uidNumber=0,cn=authmanageby*break
- olcAddContentAcl:FALSE
- olcLastMod:TRUE
- olcMaxDerefDepth:15
- olcReadOnly:FALSE
- olcMonitoring:FALSE
- structuralObjectClass:olcDatabaseConfig
- creatorsName:cn=config
- modifiersName:cn=config
注:以上所有输入行,确保行首无空格。
6)修改slapd.d目录的属主和权限,并启动ldap:
- chown-Rldap./etc/openldap/slapd.d
- chmod-R700/etc/openldap/slapd.d
- /etc/rc.d/init.d/slapdstart
- chkconfigslapdon
- ldapadd-YEXTERNAL-Hldapi:///-f/etc/openldap/schema/core.ldif
- ldapadd-YEXTERNAL-Hldapi:///-f/etc/openldap/schema/cosine.ldif
- ldapadd-YEXTERNAL-Hldapi:///-f/etc/openldap/schema/nis.ldif
- ldapadd-YEXTERNAL-Hldapi:///-f/etc/openldap/schema/inetorgperson.ldif
2)创建管理员密码,尽量使用高强度密码:
slappasswd
注:a) 上述命令会生成一个经过SSHA算法加密的密码,保存该密文,后面要用到
b) slappasswd支持的加密算法,可使用man slappasswd查看
slappasswd
注:a) 上述命令会生成一个经过SSHA算法加密的密码,保存该密文,后面要用到
b) slappasswd支持的加密算法,可使用man slappasswd查看
3)创建backend.ldif文件,输入以下行:
- #replacethesection"dc=***,dc=***"toyourownsuffix
- #replacethesection"olcRootPW:***"toyourownpasswordgeneratedbyslappasswdabove
- dn:cn=module,cn=config
- objectClass:olcModuleList
- cn:module
- olcModulepath:/usr/lib64/openldap
- olcModuleload:back_hdb
- dn:olcDatabase=hdb,cn=config
- objectClass:olcDatabaseConfig
- objectClass:olcHdbConfig
- olcDatabase:{2}hdb
- olcSuffix:dc=abc,dc=com
- olcDbDirectory:/var/lib/ldap
- olcRootDN:cn=root,dc=abc,dc=com
- olcRootPW:{SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
- olcDbConfig:set_cachesize020971520
- olcDbConfig:set_lk_max_objects1500
- olcDbConfig:set_lk_max_locks1500
- olcDbConfig:set_lk_max_lockers1500
- olcDbIndex:objectClasseq
- olcLastMod:TRUE
- olcMonitoring:TRUE
- olcDbCheckpoint:51230
- olcAccess:toattrs=userPasswordbydn="cn=root,dc=abc,dc=com"writebyanonymousauthbyselfwriteby*no
- ne
- olcAccess:toattrs=shadowLastChangebyselfwriteby*read
- olcAccess:todn.base=""by*read
- olcAccess:to*bydn="cn=root,dc=com"writeby*read
然后执行如下命令:
- ldapadd-YEXTERNAL-Hldapi:///-fbackend.ldif
4)编辑frontend.ldif,并输入以下行:
dc=***"toyourownsuffix
然后执行如下命令:
- ldapadd-x-Dcn=root,dc=com-W-ffrontend.ldif//注意替换自己的cn和dc
最有可能出现的错误:ldap_bind: Invalid credentials (49)。检查两方面:上述命令中的cn和dc是否输入正确,以及密码是否输入正确。
ldappasswd-x-v-S-W-Dcn=root,dc=com
然后重启openLDAP:/etc/init.d/slapd restart