OpenLDAP如何安裝配置

小編給大家分享一下OpenLDAP如何安裝配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)蘄春,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

一、OpenLDAP簡(jiǎn)介

    OpenLDAP是輕型目錄訪問(wèn)協(xié)議(Lightweight Directory Access Protocol,  LDAP)的自由和開源實(shí)現(xiàn),在其OpenLDAP許可證下發(fā)行,并已經(jīng)被包含在眾多流行的Linux發(fā)行版中。

    使用輕量級(jí)目錄訪問(wèn)協(xié)議(LDAP)構(gòu)建集中的身份驗(yàn)證系統(tǒng)可以減少管理成本,增強(qiáng)安全性,避免數(shù)據(jù)復(fù)制的問(wèn)題,并提高數(shù)據(jù)的一致性。

    通常,在實(shí)際工作環(huán)境中,都會(huì)通過(guò)LDAP來(lái)構(gòu)建一個(gè)統(tǒng)一的賬號(hào)管理、身份驗(yàn)證平臺(tái),實(shí)現(xiàn)SSO單點(diǎn)登錄機(jī)制。

OpenLDAP如何安裝配置

二、寫在前面

    LDAP這個(gè)東西,是公司準(zhǔn)備實(shí)現(xiàn)統(tǒng)一用戶身份認(rèn)證所了解到的,之前完全沒(méi)有概念, 網(wǎng)上搜索了一些基礎(chǔ),理論知識(shí),簡(jiǎn)直蒙圈了,實(shí)在是太抽象了。后來(lái)一想, 理論的知識(shí)先大概有個(gè)了解, 先動(dòng)手讓ldap跑起來(lái)再說(shuō)其他, 在動(dòng)手做的時(shí)候,如果遇到問(wèn)題在回頭過(guò)去查閱資料,說(shuō)不定慢慢就會(huì)理解了。

    第一次搭建OpenLDAP的時(shí)候,查閱了很多論壇、博客的帖子,發(fā)現(xiàn)好多都是講的不夠完善,或者是點(diǎn)到即止,在安裝和配置遇到問(wèn)題的時(shí)候,總要浪費(fèi)很大一部分時(shí)間來(lái)游走于各大搜索引擎去尋根問(wèn)藥,相當(dāng)痛苦,下面就是結(jié)合網(wǎng)友以及自己嘗試摸索的過(guò)程,總結(jié)成文,希望能夠幫助到有需要的朋友。

配置環(huán)境:

服務(wù)器操作系統(tǒng): CentOS 6.5 x86_64 ,   RHEL/Suse 應(yīng)該都類似

OpenLDAP版本:OpenLDAP 2.4

其實(shí)如果不是對(duì)LDAP各種參數(shù)要求都十分嚴(yán)格的情況下,比較建議采用 yum 的方式安裝。因?yàn)橄嚓P(guān)依賴環(huán)境,功能都十分全面,對(duì)于初學(xué)者,強(qiáng)烈建議第一次使用yum來(lái)安裝。

準(zhǔn)備環(huán)境:

確保SELinux關(guān)閉:

# getenforce
1、臨時(shí)關(guān)閉
# setenforce 0

2、永久關(guān)閉
# vi /etc/selinux/config
將SELINUX=enforcing 改為 SELINUX=disabled
重啟機(jī)器即可

設(shè)定iptables防火墻規(guī)則:

# vim /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -s 192.168.1.0/16
-A INPUT -m state --state NEW -m tcp -p tcp --dport 636 -j ACCEPT -s 192.168.1.0/16
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

重新加載后如下:
 
# iptables -L
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
ACCEPT     tcp  --  192.168.1.0/16       anywhere            state NEW tcp dpt:ldap
ACCEPT     tcp  --  192.168.1.0/16       anywhere            state NEW tcp dpt:ldaps

同步系統(tǒng)時(shí)間:

# ntpdate time.nist.gov

三、安裝OpenLDAP服務(wù)

1、yum 安裝所需軟件

# yum install -y openldap-*
# yum install -y compat-openldap   # 這個(gè)包和主從配置有很大關(guān)系

2、安裝完成后,準(zhǔn)備配置文件

# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

OpenLDAP相關(guān)配置文件:

/etc/openldap/slapd.conf        主配置文件,管理員dn,密碼,日志配置,權(quán)限等設(shè)置

3、創(chuàng)建LDAP管理員密碼

LDAP可以支持明文密碼,但是我們強(qiáng)烈建議使用加密密碼。 通過(guò) slappasswd 命令創(chuàng)建加密密碼,返回一串密文,先復(fù)制保存一下,下一步需要在LDAP配置文件中使用。

ps. 這里我輸入的密碼是: ldap

# slappasswd 
New password: 
Re-enter new password: 
{SSHA}5EkFHScR0hN0r3oRhd0aP4tyJ0ByopCd

4、進(jìn)入 /etc/openldap 目錄下,編輯 slapd.conf 配置文件。

主要修改的地兒,suffix, rootdn, rootpw, rootdn 其實(shí)就是openldap的管理員。

優(yōu)化:

checkpoint    2048  10     # 設(shè)置把內(nèi)存中的數(shù)據(jù)寫回?cái)?shù)據(jù)文件的操作,此處的設(shè)置表示每達(dá)到 2048K 或者 10分鐘執(zhí)行一次 checkpoint, 即寫入數(shù)據(jù)文件的操作。

cachesize    1000        # 設(shè)置LDAP可以緩存的記錄數(shù) 

OpenLDAP如何安裝配置

# cp /etc/openldap/slapd.conf /etc/openldap/slapd.conf.ori
# vi /etc/openldap/slapd.conf
....
# enable server status monitoring (cn=monitor)
database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=Manager,dc=test,dc=com" read
        by * none


#######################################################################
# database definitions
#######################################################################


database        bdb
suffix          "dc=test,dc=com"
checkpoint      1024 15
rootdn          "cn=Manager,dc=test,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
# rootpw                secret
# rootpw                {crypt}ijFYNcSNctBYg
rootpw                  {SSHA}5EkFHScR0hN0r3oRhd0aP4tyJ0ByopCd
.......

保存退出。

當(dāng)然,也可以如下設(shè)置明文密碼:

OpenLDAP如何安裝配置

5、BerkeleyDB配置。 拷貝 DB_CONFIG 文件到指定目錄, 否則后續(xù)會(huì)報(bào)錯(cuò): warning - no DB_CONFIG file found in directory /var/lib/ldap

PS: OpenLDAP默認(rèn)使用的是伯克利數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)存儲(chǔ)介質(zhì),在OpenLDAP-Servers包中已經(jīng)包含了,直接把配置文件復(fù)制到相關(guān)目錄即可。

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

6、刪除 /etc/openldap/slapd.d 目錄下所有的文件,否則后續(xù)在使用 ldapadd 命令的時(shí)候會(huì)報(bào)錯(cuò)

PS: 默認(rèn)情況下,/etc/openldap/slapd.d目錄下有一些默認(rèn)的配置文件,必須刪除,然后重新建議,這一步很重要

這是因?yàn)?2.4 和 2.3 配置文件兼容性問(wèn)題導(dǎo)致, 參考: http://www.openldap.org/doc/admin24/appendix-common-errors.html

# rm -rf /etc/openldap/slapd.d/*

7、配置相應(yīng)目錄權(quán)限

# chown -R ldap:ldap /var/lib/ldap/
# chown -R ldap:ldap /etc/openldap/

8、啟動(dòng) LDAP 的 slapd 服務(wù), 并設(shè)置開機(jī)啟動(dòng)

# chkconfig slapd on
# service slapd start

9、重新生成  slapd.d 下的配置文件

# slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded

然后重新賦予配置文件的權(quán)限:
# chown -R ldap:ldap /etc/openldap/slapd.d

10、重新啟動(dòng) LDAP 的 slapd 服務(wù)

# service slapd restart

使用 netstat -tulpn 查看服務(wù)是否正常啟動(dòng)

OpenLDAP如何安裝配置

11、開啟 SSL

# vim /etc/sysconfig/ldap

SLAPD_LDAPS=yes

我們可以看到, OpenLDAP監(jiān)聽端口:

默認(rèn)監(jiān)聽端口: 389 (明文數(shù)據(jù)傳輸)

加密監(jiān)聽端口: 636 (加密數(shù)據(jù)傳輸)

四、給OpenLDAP添加日志功能,添加如下內(nèi)容

1、編輯 /etc/openldap/slapd.conf

# vim /etc/openldap/slapd.conf
loglevel 296

2、編輯 /etc/rsyslog.conf

# vim /etc/rsyslog.conf
local4.*   /var/log/ldap.log

3、重啟服務(wù)

# service rsyslog restart
# service slapd restart

五、遷移用戶數(shù)據(jù)到OpenLDAP

系統(tǒng)用戶通常保存在 /etc/passwd, /etc/shadow文件內(nèi),所以我們需要遷移用戶數(shù)據(jù)到openldap數(shù)據(jù)庫(kù)。但是LDAP只能識(shí)別特定格式的文件,即后綴為 ldif 的文件(也是文本文件),所以不能直接使用 /etc/passwd, /etc/shadow直接導(dǎo)入。 最簡(jiǎn)單的方法是使用padl提供的遷移工具包,是一系列perl編寫的腳本, migrationtools 工具,之前的openldap包中已經(jīng)包含了這些腳本,但是在redhat6.5中已經(jīng)沒(méi)有了,要單獨(dú)下載。

1、安裝配置 migrationtools

# yum install -y migrationtools

2、切換到 migrationtool 目錄下,進(jìn)行基本配置

# cd /usr/share/migrationtools/
編輯migrate_common.ph

# vi  migrate_common.ph
...
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "test.com";


# Default base
$DEFAULT_BASE = "dc=test,dc=com";
.......
保存退出。:-)

3、生成 ldif 文件

a、在目錄MigrationTools里面使用migrate_base.pl腳本生成基本的數(shù)據(jù)結(jié)構(gòu)

# ./migrate_base.pl > /tmp/base.ldif

導(dǎo)入數(shù)據(jù):
## -w 指定你在slapd.conf中設(shè)置的管理員密碼,也可以使用 -W,交互式輸入密碼
## -f 指定數(shù)據(jù)文件的路徑
## 我們之前設(shè)定的密碼: ldap

# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/base.ldif

查詢已經(jīng)導(dǎo)入數(shù)據(jù)庫(kù)的數(shù)據(jù):
# ldapsearch -h -H ldap://192.168.1.35 -b "dc=test,dc=com"

b、在目錄MigrationTools里面使用migrate_passwd.pl 和 migrate_group.pl 腳本將 /etc/passwd, /etc/group文件中的用戶轉(zhuǎn)化為 ldap 可以識(shí)別的數(shù)據(jù)結(jié)構(gòu) ldif 格式的文件

# ./migrate_passwd.pl /etc/passwd /tmp/passwd.ldif
# ./migrate_group.pl /etc/group /tmp/group.ldif

導(dǎo)入數(shù)據(jù):
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/passwd.ldif
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/group.ldif

c、在實(shí)際生產(chǎn)環(huán)境中,并不會(huì)把 /etc/passwd 和 /etc/group 中的用戶全部用 ldap 管理起來(lái), 我們只需要讓實(shí)際用戶被 ldap 管理即可,所以生產(chǎn)中按照如下規(guī)則操作:

刪除 ldap 數(shù)據(jù)庫(kù)中的所有數(shù)據(jù):

# ldapdelete -x -D "cn=Manager,dc=test,dc=com" -w ldap -r "dc=test,dc=com"

建立測(cè)試用戶 ldapuser01, ldapuser02,把這兩個(gè)用戶導(dǎo)入ldap數(shù)據(jù)庫(kù)中

# useradd ldapuser01
# useradd ldapuser02
# passwd ldapuser01
# passwd ldapuser02

我們只把需要的用戶導(dǎo)入 ldap 數(shù)據(jù)庫(kù)中
# grep ldap* /etc/passwd > /tmp/passwd
# grep ldap* /etc/group > /tmp/group

# ./migrate_base.pl > /tmp/base.ldif 
# ./migrate_passwd.pl /tmp/passwd > /tmp/passwd.ldif
# ./migrate_group.pl /tmp/group > /tmp/group.ldif

# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/base.ldif
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/passwd.ldif
# ldapadd -x -D "cn=Manager,dc=test,dc=com" -w ldap -f /tmp/group.ldif

至此,我們就把用戶導(dǎo)入到OpenLDAP數(shù)據(jù)庫(kù)中了。

六、安裝 phpLDAPadmin

安裝EPEL倉(cāng)庫(kù)

# rpm -ivh http://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rp

安裝phpLDAPadmin

# yum install -y phpldapadmin

修改 phpldapadmin配置文件(該文件會(huì)自動(dòng)創(chuàng)建),添加訪問(wèn)權(quán)限

# vim /etc/httpd/conf.d/phpldapadmin.conf
在這行后面添加
Allow from ::1
Allow from 192.168.1    //這里修改為你自己的ip段

OpenLDAP如何安裝配置

修改php配置文件, 禁止自動(dòng)登錄和php登錄配置

# vim /etc/phpldapadmin/config.php

#(line 398)
//$servers->setValue('login','attr','uid');

#(line 530)
$servers->newServer('ldap_pla');
$servers->setValue('server','name','LDAP Server');
$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=test,dc=com'));
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','dc=test,dc=com');
$servers->setValue('login','bind_pass','ldap');
$servers->setValue('server','tls',false);

配置完成后,啟動(dòng)apache

# chkconfig httpd on
# service httpd start

然后通過(guò)瀏覽器進(jìn)行訪問(wèn): http://192.168.1.35/ldapadmin/   (這個(gè)ip 換成你自己的實(shí)際ip)

OpenLDAP如何安裝配置

這里需要注意的是: Login DN:  一定要是完整的 DN, 而不是 RDN。

密碼就是我們前面 slappasswd 命令設(shè)置的密碼, 也就是ldap管理員 rootdn(Manager)的密碼,然后就登錄成功了。

OpenLDAP如何安裝配置

七、安裝 LAM(和phpLDAPadmin功能相似的GUI工具,可選 )

下載ldap-account-manager包,我這里下載的是較老的版本4.6 ,(最新版應(yīng)該 6.0了)。

如果沒(méi)有l(wèi)amp環(huán)境
# yum install -y httpd php php-ldap php-gd


# unzip ldap-account-manager-4.6.RC1.zip
# mv ldap-account-manager-4.6.RC1 /var/www/html/lam
# chown -R apache:apache /var/www/html/lam

順便編輯之前的 /etc/phpldapadmin/conf.php 中增加一行
# vim /etc/httpd/conf.d/phpldapadmin.conf
Alias /lam /var/www/html/lam

配置

# cd /var/www/html/lam/config
# cp config.cfg_sample config.cfg
# cp lam.conf_sample lam.conf

# vim lam.conf
serverURL: ldap://192.168.1.35:389
admins: cn=Manager,dc=test,dc=com
treesuffix: dc=test,dc=org

其他 dc=my-domain 全部更換為: dc=yourdomain

重啟 httpd 服務(wù)

# service httpd restart


然后通過(guò)瀏覽器訪問(wèn)即可, http://192.168.1.35/lam ,更改為你自己的 ip

OpenLDAP如何安裝配置

然后通過(guò) Manager 賬號(hào)以及密碼就可以登錄成功了。

OpenLDAP如何安裝配置

以上是“OpenLDAP如何安裝配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標(biāo)題:OpenLDAP如何安裝配置
標(biāo)題來(lái)源:http://bm7419.com/article26/igspcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站網(wǎng)站制作網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)