ldap基本dn_2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程...
1. 什么是LDAP
1.1 什么是LDAP?
要想知道一個(gè)概念,最簡(jiǎn)單的辦法就是wikipedia,當(dāng)然也可以百科。
LDAP全稱是輕型目錄訪問(wèn)協(xié)議(Lightweight Directory Access Protocol)是一個(gè)開(kāi)放的,中立的,工業(yè)標(biāo)準(zhǔn)的應(yīng)用協(xié)議,通過(guò)IP協(xié)議提供訪問(wèn)控制和維護(hù)分布式信息的目錄信息。
簡(jiǎn)單理解起來(lái)就是LADP包含一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)了樹(shù)狀結(jié)構(gòu)組織數(shù)據(jù),和一套協(xié)議,第三方可通過(guò)這套協(xié)議進(jìn)行數(shù)據(jù)的查詢與搜索的功能。
它用的協(xié)議基于X.500標(biāo)準(zhǔn)的輕量級(jí)目錄訪問(wèn)協(xié)議,是一種開(kāi)放Internet標(biāo)準(zhǔn),LADP協(xié)議是跨平臺(tái)的Internt協(xié)議,
總結(jié)來(lái)說(shuō)LDAP是由目錄數(shù)據(jù)庫(kù)和一套訪問(wèn)協(xié)議組成的系統(tǒng)。
1.2為什么用LDAP
要知道為什么,我們就需要了解LDAP能解決什么問(wèn)題?
眾所周知,當(dāng)一個(gè)公司規(guī)模之后,會(huì)有無(wú)數(shù)的系統(tǒng)進(jìn)行工作,如果每一個(gè)系統(tǒng)都需要注冊(cè)自己的用戶名,每一個(gè)系統(tǒng)的用戶名與密碼可能都不一樣。對(duì)個(gè)人來(lái)說(shuō)就是一件折騰的事情,從公司的IT安全角度來(lái)說(shuō)更是麻煩。
所以需要統(tǒng)一認(rèn)證,單點(diǎn)登錄。
LDAP就是最適合在單點(diǎn)登錄中使用的系統(tǒng)了。
因?yàn)長(zhǎng)DAP是一個(gè)開(kāi)放的,中立的,工業(yè)標(biāo)準(zhǔn)的應(yīng)用協(xié)議,它支持跨平臺(tái),數(shù)據(jù)配置簡(jiǎn)單且功能單一,穩(wěn)定性高且查詢性能好,使用它做認(rèn)證服務(wù)可降低重復(fù)開(kāi)發(fā)和對(duì)接的成本。
1.3 LDAP 的基本數(shù)據(jù)模型
LDAP 的基本數(shù)據(jù)模型就是一種樹(shù)狀的組織數(shù)據(jù),但就是這些名稱有點(diǎn)叫人哭笑不得。要了解LDAP,至少要了解以下概念。
LDAP的數(shù)據(jù)是樹(shù)狀結(jié)構(gòu), 所有條目(或者對(duì)象)都定義在樹(shù)結(jié)構(gòu)中。
條目下的樹(shù)狀結(jié)構(gòu)稱為目錄信息樹(shù)(DIT)。
一個(gè)完整的條目有唯一可識(shí)別的名稱,我們叫之為區(qū)別名(DN)。
在DN的子節(jié)點(diǎn)下的一個(gè)單獨(dú)節(jié)點(diǎn)或者路徑,我們稱之為RDU。
通常一個(gè)條目(或者對(duì)象)在存儲(chǔ)在這兩種類型對(duì)象中
每一個(gè)對(duì)象有包含一些屬性,屬性的值決定了該對(duì)象必須遵循的一些規(guī)則。
最后還需要記住LDAP里的簡(jiǎn)稱
- o:organization(組織-公司)
- ou:organization unit(組織單元-部門(mén))
- c:countryName(國(guó)家)
- dc:domainComponent(域名)
- sn:suer name(真實(shí)名稱)
- cn:common name(常用名稱)
例子:
例子
例如上圖的babs條目中:
DN:uid=babs,ou=people,dc=example,dc=com
相對(duì)于ou=people,dc=example,dc=com 節(jié)點(diǎn)的RDN:uid=babs ObjectClass:Person
本文只提一些關(guān)鍵的LDAP概念,更詳細(xì)更具體請(qǐng)自己學(xué)習(xí)官方文檔。
2.搭建LDAP服務(wù)器
使用的環(huán)境:OpenLDAP 2.4, Centos7.6
第一步 更新環(huán)境
運(yùn)行: yum update
第二步 安裝 OpenLdap
安裝OPenLDAP與相關(guān)安裝包
安裝完之后,可以直接啟動(dòng)服務(wù)并且將服務(wù)設(shè)置為自啟動(dòng)狀態(tài)。運(yùn)行如下命令
啟動(dòng)完之后可以查驗(yàn)slapd服務(wù)是否正在運(yùn)行
可看到如下圖
第三步 創(chuàng)建LDAP的根密碼
此密碼用于整個(gè)安裝過(guò)程,是LADP的管理員根密碼,使用slappasswd 命令生成密碼
輸入slappasswd后提示輸入密碼與確認(rèn)密碼,系統(tǒng)會(huì)輸出一串SSHA加密后的字符串,請(qǐng)Copy出來(lái)保存在記事本中。
我設(shè)置的密碼是Ricman,加密后出來(lái)的字符串是
{SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8
第四步 配置LDAP服務(wù)
這是整個(gè)過(guò)程中最難的地方,目前整個(gè)網(wǎng)絡(luò)上能搜索到的,幾乎都是過(guò)時(shí)配置方式,Ricman也是踩著坑爬出來(lái)的,希望此文能給在今后的日子,能幫助道友們少走彎路。
要怎么修改配置,OPenLdap 2.4不再推薦直接使用配置文件方式,并且極容易出錯(cuò),修改的所有過(guò)程,均使用ldapmodify完成
我們可以先看一下目前配置都有哪些文件,執(zhí)行命令
輸出如下圖,可能些人的結(jié)果不一樣,但是幾乎差不多,注意文件的名稱,一會(huì)修改配置的時(shí)候,會(huì)使用到。
當(dāng)然,你可以使用cat 來(lái)查看文件內(nèi)容,可以看到原始的內(nèi)容。
我們要修改的字段有:
olcSuffix – 用于保存域信息,需要更新為自己的域olcRootDN – 根的DN(唯一識(shí)別名),根的區(qū)別名,它用于根管理員在此節(jié)點(diǎn)下做所有的管理olcRootPW – LDAP 管理員的根密碼,用剛剛第三步創(chuàng)建出來(lái)的密碼設(shè)置到這里
我們?cè)谌我饽夸浵聞?chuàng)建 db.ldif文件。Ricman的經(jīng)驗(yàn)最好不要
在/etc/openldap/slapd.d/cn=config目錄下創(chuàng)建,因?yàn)檫@目錄保存著原始的配置文件,當(dāng)使用slaptest -u 測(cè)試配置時(shí)會(huì)報(bào)錯(cuò)。我偷懶,直接在根目錄下創(chuàng)建,運(yùn)行cd ~便可切換到根目錄(在根目錄下創(chuàng)建文件是不好行為,為方便說(shuō)明安裝過(guò)程,就暫時(shí)使用)
修改db文件
這db文件不是數(shù)據(jù)庫(kù)文件,只是ldap中配置文件中一個(gè),可能是mdb,也可能是各種*db,Ricman安裝的是hdb。
在此文件中編輯的內(nèi)容如下
請(qǐng)注意上面內(nèi)容中的olcSuffix, olcRootDN, olcRootPW這三個(gè)字段,是需要修改成自己的內(nèi)容的。
特別需要注意是的olcRootPW字段,因?yàn)檫@個(gè)字段在剛剛查看olcDatabase={2}hdb.ldif中是不存在的,所以使用add,表示增加,如果字段已經(jīng)存在,使用replace,表示進(jìn)行替換內(nèi)容
完成編輯后,使用ldapmodify讓修改的內(nèi)容生效。
ldapmodify命令可在運(yùn)行環(huán)境中直接修改配置文件并且不需要重啟就生效的命令,具體請(qǐng)看ldapmodify官方使用文檔。
在db.ldif目錄下運(yùn)行命令
輸出如下圖,一定要注意在有三個(gè)modifying entry才全部更新成功。
修改monitor文件
與修改db文件相似。在剛剛的db.ldif目錄下運(yùn)行命令
在此文件中輸入以下內(nèi)容
請(qǐng)自己修改db.base中的內(nèi)容,這個(gè)等號(hào)后面的內(nèi)容是上面db.ldif中的olcRootDN是一致的。
保存文件后同樣使用ldapmodify讓其生效。
輸出如下圖
同樣,要出現(xiàn)modifying entry才成功。如上圖中Ricman在編輯文件時(shí)多寫(xiě)了一行,所以出錯(cuò)了。請(qǐng)注意檢查自己編輯的monitor文件。
創(chuàng)建ldap 基礎(chǔ)庫(kù)
這里創(chuàng)建的是一個(gè)基礎(chǔ)庫(kù),用于保存數(shù)據(jù)。安裝ldap后會(huì)有一個(gè)example配置,需要我們復(fù)制一份配置文件并賦予它所有權(quán)限
運(yùn)行以下命令
完成配置后,我們就可以向數(shù)據(jù)庫(kù)中增加schemas,需要增加的有:cosine , nis,inetorgperson
schemas是什么鬼,schemas就是數(shù)據(jù)庫(kù)表的定義文件,相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的表定義。當(dāng)然稍有區(qū)別。具體可以參考文檔說(shuō)明understanding-ldap-schema
執(zhí)行l(wèi)dapadd命令增加,命令如下
以上三條命令是一條一條執(zhí)行,每一條輸出如下圖
完成以后,就可以創(chuàng)建base.ldif,在庫(kù)中增加自己管理域下的內(nèi)容,運(yùn)行命令
在文件中輸入以下內(nèi)容
至此,完成基本的配置
3.管理Ldap
在網(wǎng)上下載Ldap Admin,我使用的是window7系統(tǒng),直接使用Ldap admin來(lái)管理個(gè)人覺(jué)得還是很爽的。
連接之前,我們需要設(shè)置一下服務(wù)器的防火墻,允許ldap例外。
運(yùn)行命令
firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload
設(shè)置防火墻
接下來(lái),可以使用ldap admin進(jìn)行管理了。點(diǎn)擊 connect->new connect
新建立連接
然后設(shè)置好 Host,Base以及用戶名與密碼
用戶名要使用管理員,本例子中是 cn=Manager ,dc=ricman,dc=localhost
密碼為上面第三步創(chuàng)建的密碼,本方使用的密碼為ricman
連接設(shè)置
點(diǎn)擊測(cè)試連接,成功后直接點(diǎn)擊連接即可進(jìn)入管理界面,如下圖
連接成功
管理工具
就可以使用工具創(chuàng)建自己所需要的用戶,組織
卸載 Ldap
如果需要卸載 ,需要先停止服務(wù),然后yum remove
當(dāng)然,別忘記了DB_CONFIG以及配置文件,也要將其刪除
至此全文結(jié)束。如有轉(zhuǎn)載,請(qǐng)標(biāo)明轉(zhuǎn)載來(lái)源,謝謝
總結(jié)
以上是生活随笔為你收集整理的ldap基本dn_2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php+html5+jquery断点续传
- 下一篇: 万向节死锁_万向节死锁 gimbal l