環境
操作系統: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預定義的日志級別以及每種日志級別所對應的數字(十進制和十六進制),如:
[ldap@192.168.121.130 ~$]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