香港服務(wù)器Centos7搭建openldap
什么是LDAP:
輕型目錄訪問協(xié)議(Lightweight Directory Access Protocol,LDAP):是一個(gè)開放的、中立的、業(yè)標(biāo)準(zhǔn)的應(yīng)用協(xié)議,通過IP協(xié)議提供訪問控制和維護(hù)分布式信息的目錄信息,它是由目錄數(shù)據(jù)庫和一套訪問協(xié)議組成的系統(tǒng),詳情請查看維基百科LDAP。
為什么用LDAP:
LDAP是開放的Internet標(biāo)準(zhǔn),市場上或者開源社區(qū)的絕大多數(shù)軟件都支持LDAP協(xié)議。簡單來說,LDAP協(xié)議最大的好處就是能統(tǒng)一管理用戶密碼,新人報(bào)道創(chuàng)建一個(gè)用戶就能登錄公司的所有平臺(gitlab、jumpserver、監(jiān)控等等),離職一鍵刪除即可。
OpenLDAP部署
部署環(huán)境:
CentOS 7
openldap2.4.44
phpldapadmin1.2.3
安裝相關(guān)程序。
# yum -y install openldap openldap-clients openldap-servers
以默認(rèn)配置為基礎(chǔ)生成配置文件,并授權(quán)啟動(dòng)。
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# chown -R ldap:ldap /var/lib/ldap/
# systemctl start slapd.service
# systemctl enable slapd.service
# 查看狀態(tài),正常啟動(dòng)則ok
systemctl status slapd.service
設(shè)置OpenLDAP管理員密碼。
# 生成加密密碼。
# slappasswd -s 123456
{SSHA}BGBbiPYSuAQ4gO9r3M1CrW75HmykIV5k
更改openldap配置
注意:從OpenLDAP 2.4.x下已廢棄slapd.conf文件,而配置文件被目錄slapd.d所取代 。slapd.d目錄內(nèi)包含的ldif文件中的內(nèi)容,就是slapd.conf中的內(nèi)容轉(zhuǎn)化成ldif格式,以構(gòu)成一棵根為cn=config的目錄樹,這棵樹包含了許多結(jié)點(diǎn),如:cn=include, cn=schema, olcBackend=hdb……。所有配置信息就是這些結(jié)點(diǎn)的屬性。
# vi /etc/openldap/slapd.d/cn\\=config\\/olcDatabase\\={2}hdb.ldif
olcSuffix: dc=fyd,dc=com #找到olcSuffix,修改為你的dc
olcRootDN: cn=admin,dc=fyd,dc=com #找到olcRootDN, 修改為你的用戶名
olcRootPW: {SSHA}BGBbiPYSuAQ4gO9r3M1CrW75HmykIV5k #在文件末尾添加此行,設(shè)置是剛才的密碼
更改監(jiān)控認(rèn)證配置
# vi /etc/openldap/slapd.d/cn\\=config/olcDatabase\\=\\{1\\}monitor.ldif
修改 olcAccess 行中的dn.base=”cn=xxxxxxx”這行為剛才設(shè)置的用戶名,
如:dn.base=”cn=admin,dc=fyd,dc=com”
測試配置文件
# slaptest -u
config file testing succeeded #說明成功了
啟動(dòng)OpenLDAP和開機(jī)啟動(dòng)
systemctl start slapd.service
ss -tanlp |grep 389
部署LDAP管理工具PHPldapadmin
安裝httpd服務(wù)器
# yum install httpd -y
修改配置文件httpd.conf
#102行
# vi /etc/httpd/conf/httpd.conf
Options Indexes FollowSymLinks
AllowOverride None
安裝phpldapadmin:
# yum -y install epel-release
# yum --enablerepo=epel -y install phpldapadmin
修改配置文件
# vi /etc/phpldapadmin/config.php
找到并取消下面幾行的注釋:
#298,301,305,323,397,398行
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=fyd,dc=com')); #array里加上openldap配置文件中設(shè)置的olcSuffix
$servers->setValue('login','auth_type','session');
$servers->setValue('login','attr','dn');
//$servers->setValue('login','attr','uid'); #把此行注釋掉
修改phpldapadmin訪問配置文件
# vi /etc/httpd/conf.d/phpldapadmin.conf
# 9行
# Apache 2.4
# Require local
創(chuàng)建基礎(chǔ)目錄
在/etc/openldap目錄下新建base.ldif文件,并添加如下內(nèi)容
# cat /etc/openldap/base.ldif
dn: dc=fyd,dc=com
o: ldap
objectclass: dcObject
objectclass: organization
dc: fyd
訪問web管理端
systemctl start httpd.service