环境
操作系统:centOS 7.0 OpenLDAP:2.4.X
安装
从yum源安装
yum install openldap openldap-servers openldap-clients -y
配置
执行如下命令来初始化OpenLdap的配置
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
在/etc/openldap目录下新建openLdap配置文件
cd /etc/openldap
touch slapd.conf
slapd.conf的文件内容为
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/collective.schema
# OpenLDAP 服务允许连接的客户端版本。
allow bind_v2
# OpenLDAP 进程启动时,pid 文件存放路径。
pidfile /var/run/openldap/slapd.pid
# 日志级别
loglevel 296
# 日志文件路径
logfile /var/run/slapd.log
# OpenLDAP 参数文件存放的路径。
argsfile /var/run/openldap/slapd.args
# 传输加密的配置信息
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password
database config
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
by * none
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=comwavecfcAdmin,OU=IT,DC=CWCFC,DC=COM" read
by * none
# 指定OpenLDAP 数据库类型。
database bdb
# 指定OpenLDAP 服务域名(DN)
suffix "DC=TEST,DC=COM"
checkpoint 1024 15
# 指定OpenLDAP 服务管理员信息。
rootdn "CN=Admin,OU=IT,DC=TEST,DC=COM"
# 指定OpenLDAP 服务管理员密码,使用slappasswd -s your_password来获取加密密码
rootpw {SSHA}Tqrn5VCGlnARI1XLCCjcvjKUfIV7ANFs
# 指定OpenLDAP 数据库文件的存放目录。
directory /var/lib/ldap
# 创建OpenLDAP 索引。
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
关于日志级别的问题
输入命令slapd -d ?可以看到OpenLDAP预定义的日志级别以及每种日志级别所对应的数字(十进制和十六进制),如:
[[email protected] ~$]slapd -d ?
Installed log subsystems:
Any (-1, 0xffffffff)
Trace (1, 0x1)
Packets (2, 0x2)
Args (4, 0x4)
Conns (8, 0x8)
BER (16, 0x10)
Filter (32, 0x20)
Config (64, 0x40)
ACL (128, 0x80)
Stats (256, 0x100)
Stats2 (512, 0x200)
Shell (1024, 0x400)
Parse (2048, 0x800)
Sync (16384, 0x4000)
None (32768, 0x8000)
NOTE: custom log subsystems may be later installed by specific code
你可以同时设置几种日志级别,方法是将日志级别的数字加起来。 比如同时设置Trace和Stats级别,那么在slapd.conf中:
loglevel 257
或者启动OpenLDAP时,使用命令参数-d 257来指定
openLdap服务
#启动ldap服务
service slapd start
#关系ldap服务
service slapd stop
#重启ldap服务
service slapd restart
openLdap增加自定义属性
1.cd /etc/openldap/schema中的修改core.schema配置文件(也可以在这里新增schema文件)
2.这里直接修改core.schema配置文件,增加自定义属性
3.修改保存后覆盖服务器配置
#删除之前的配置自动生成文件 rm -rf /etc/openldap/slapd.d/* #刷新配置,使配置生效 slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d #复制slapd.d文件夹及子目录权限 chmod -R 755 /etc/openldap/slapd.d #重启ldap服务 service slapd restart