Linux下配置OpenLDAP服務記錄

摘要:最近部門需要整合所有的系統,所以領導說要通過OpenLdap數據庫來實現對所有系統的統一管理,所以需要在服務器上配置一下LDAP服務,我們這里選擇的是OpenLdap服務,我在網上搜索了很多,開始都沒有配置成功,最后經過多次嘗試終于配置成功,現在做個記錄,方便日后再次查看。

服務器環境:CentOS6.4

配置前的準備工作:

先關閉iptables和SELINUX,避免配置過程中報錯!

# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
修改SELINUX=disabled,如下圖:


一:OpenLdap服務端配置:

(1).安裝OpenLdap服務,我這里使用的yum安裝,需要安裝的軟件包如下:

openldap-devel-2.4.23-26.el6.x86_64
openldap-clients-2.4.23-26.el6.x86_64
openldap-2.4.23-26.el6.x86_64
openldap-servers-2.4.23-26.el6.x86_64
(2).yun安裝OpenLdap服務的命令如下:(這里必須是你的linux機器可以聯網,否則的話是不能安裝成功的!)

# yum install openldap-* -y

(3).安裝OpenLdap服務完成后,拷貝LDAP配置文件到LDAP目錄:

# cd /etc/openldap/
# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
(4).CentOS6.4版本配置文件在主目錄有備份:
# cd /etc/openldap/
# cp slapd.conf.bak slapd.conf
(5).創建LDAP管理員密碼:
# slappasswd
這里我輸入的密碼是redhat,輸入完密碼后,返回一串密文,先保存到剪貼板

{SSHA}Ak5D0xQLDRJUpt3B4C1tqBnZwRTZYlLT

(6).編譯配置文件:

# vi /etc/openldap/slapd.conf
找到115行,默認如圖:


下面紅色框中的為你剛才生成的密碼(加密后的)。


配置文件最后幾行的權限部分我們也要做相應的更改:


保存并退出。

(7).拷貝DB_CONFIG文件到指定目錄:

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

(8).刪除默認/etc/openldap/slapd.d下面的所有內容,否則后面在使用ldapadd的時候會報錯:

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

(9).啟動LDAP的slapd服務,并設置自啟動:

# service slapd restart
# chkconfig slapd on
(10).賦予配置目錄相應權限:

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

(11).測試并生成配置文件:

slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d.*

返回config file testing succeeded,則配置成功。

(12).賦予生成的配置文件予權限并重啟:

# chown -R ldap:ldap /etc/openldap/slapd.d.*
# service slapd restart
(13).創建一個賬號,以備客戶端測試登陸:

# useradd ldapuser1
# passwd ldapuser1
至此,這些用戶僅僅是系統上存在的用戶(存儲在/etc/passwd和/etc/shadow上),并沒有在LDAP數據庫里,所以要把這些用戶導入到LDAP里面去。但LDAP只能識別特定格式的文件 即后綴為ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools這個工具把這兩個文件轉變成LDAP能識別的文件。

(14).安裝配置migrationtools:

# yum install migrationtools -y
進入migrationtool配置目錄:

# cd /usr/share/migrationtools/
首先編輯migrate_common.ph:

# vi  migrate_common.ph
找到如下內容(大概在70行):


修改完后,保存并退出。

下面利用pl腳本將/etc/passwd 和/etc/shadow生成LDAP能讀懂的文件格式,保存在/tmp/下:

# ./migrate_base.pl > /tmp/base.ldif
# ./migrate_passwd.pl  /etc/passwd > /tmp/passwd.ldif
# ./migrate_group.pl  /etc/group > /tmp/group.ldif
下面就要把這三個文件導入到LDAP,這樣LDAP的數據庫里就有了我們想要的用戶:

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/base.ldif
# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/passwd.ldif
# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/group.ldif
這里導入的時候提示輸入LDAP的密碼:我這里是redhat

過程若無報錯,則LDAP服務端配置完畢,重啟slapd完成配置:

# service slapd restart
(15).現安裝NFS,并把ldapuser1的家目錄做NFS共享:

# yum install nfs* -y
(16).配置NFS共享:

# vi /etc/exports

保存并退出。

(17).重啟nfs服務:

# service rpcbind restart
# service nfs restart


二:OpenLdap客戶端配置:

打開客戶端圖形化界面命令行,輸入system-config-authentication,按照如圖配置:


配置結束點Apply保存退出,系統會自動重啟sssd服務。


配置autofs,實現ldapuser1登錄成功后,能夠訪問本地家目錄/home/ldapuser1,該目錄掛載于網內LDAP服務器192.168.186.139:/home/ldapuser1下:

# vi /etc/auto.master
添加一行:

--------------
/home   /etc/auto.misc
--------------
# vi /etc/auto.master
添加一行:

--------------
*               -fstype=nfs                     192.168.186.139:/home/&
--------------
重啟autofs服務:

# service autofs reload
登陸ldapuser1賬戶:

若未返回系統未找到ldapuser1家目錄報錯信息,則LDAP客戶端配置成功。

注:這里若仍無法登陸,請進入setup模式配置LDAP登陸

# id ldapuser1


# su - ldapuser1

# pwd
/home/ldapuser1

至此,OpenLdap服務端和客戶端的配置就完成了,接下來就是通過客戶端連接OpenLdap數據庫了。

注意:LDAP服務需要服務器和客戶端的時間保持大致一致,否則在登陸ldapuser1賬戶時可能會報錯,這里NTP服務搭建省略,可以手工修改兩臺服務器的時間保持一致。


三:通過Softerra LDAP Administrator 2015.1管理工具連接OpenLdap數據庫:

(1).首先下載和你本機對應版本的客戶端軟件,我這里下載的32位的,下載地址:http://www.ldapadministrator.com/download.htm,如下圖:



(2).下載安裝好就可以連接了,連接步驟如下:









至此,OpenLdap在Linux下的服務端配置和客戶端配置連接就完成了!


參考的網上連接:

http://www.centoscn.com/image-text/config/2013/0819/1367.html
http://www.centoscn.com/image-text/config/2013/0819/1367.html
http://my.oschina.net/5lei/blog/193484



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443440.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443440.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443440.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux下配置CollabNet Subversion Edge

摘要:最近一直都在搞一下管理員的工作,今天又搞了svn的管理工具CollabNetSubversionEdge,網上也有很多例子,但是很多都是可以訪問到web界面,但是不能啟動版本庫的服務,所以我經過多次嘗試,終于解…

養成讓自己進步的10個習慣

養成讓自己進步的10個習慣 1.永遠不說不可能。"辦法總比問題多" 2.凡事第一反應找方法,不是找借口。"不要推卸責任" 3.養成記錄習慣,不太依賴腦袋。"好記性不如爛筆頭" 4.每天出門照鏡子,給自己自信的微笑。&…

Oracle存儲過程中使用游標來批量解析CLOB字段里面的xml字符串:

摘要:之前在項目中使用到了Oracle數據庫中通過觸發器去調用存儲過程執行數據解析并Update到對應的數據表中,但是,經過一段時間的測試使用發現,如果job那天停掉了,然后你再重新新建job的話,這時候可能會有很…

Maven配置nexus

摘要:近來一直在搭建maven結構的開發框架,其中這個過程中用到了nexus私服,這里我把我經過查詢總結的最終的方式記錄一下,以便后面忘記了: 一:nexus私服的安裝(略) 二:倉庫的講解如下圖: 1、ho…

Maven項目發布的配置

摘要:要想發布maven結構的項目到nexus私服上,可以通過兩種方式來,一種是在項目的pom.xml文件里面配置,另一種是通過命令的方式發布到nexus私服上,但是這種方式的前提也得在settings.xml文件配置用戶: 一:M…

MariaDB通過命令行的方式導出指定數據庫和還原指定數據庫

摘要:今天由于需要需要從本地導出一份VP系統的數據庫腳本,以前我都是通過工具直接導出,現在有同事說可以通過mysql的命令方式導出,我試了一下,可以,現在記錄一下! 一:在MariaDB的安裝…

java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener

一:如果出現下面的錯誤信息,如果你的項目是Maven結構的,那么一般都是你的項目的Maven Dependencies沒有添加到項目的編譯路徑下: 五月 10, 2015 6:23:18 下午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR …

Maven 打成 Webjar的方法

摘要:今天領導說要把自己定義的樣式文件和js文件打成一個自定義的webjar,所以就寫了一下,現在記錄一下: 1. 先把要打包成webjar的文件放到你新建的maven結構的項目的/src/main/resources目錄下 2.編寫該項目的pom.xml文件&#…

Maven中maven-source-plugin,maven-javadoc-plugin插件的使用:

摘要:今天領導說要把項目通過maven生產源碼包和文檔包并發布到自己的私服上,經過查看mavne官網發現有兩個maven插件可以做到這些工作,一個是maven-source-plugin,另一個是maven-javadoc-plugin,現在記錄一下&#xff0…

Maven之生成測試覆蓋度的插件cobertura-maven-plugin的使用

摘要:Maven中可以通過使用插件檢查一個項目的測試代碼的覆蓋度,這個插件就是cobertura-maven-plugin,這個插件如何使用我做了測試,現在記錄一下! 一:首先在你的項目的pom.xml文件中增加該插件的配置&#x…

Linux下開啟mysql數據庫的遠程訪問權限

摘要:今天在Linux服務器上安裝了msyql數據庫,在本地訪問的時候可以訪問,但是我想通過遠程的方式訪問的時候就不能訪問了,查詢資料后發現,Linux下mysql默認安裝完成后只有本地訪問的權限,沒有遠程訪問的權限…

Maven之自定義pom類型的基礎項目

摘要:在當前的軟件開發場景中,大都是通過maven管理項目,而如果使用maven的話,其實也會有很多問題,比如項目中依賴的版本管理就是一個很頭疼的事,如果一個項目中有很多人同時開發那么這就很可能造成大家添加…

Maven之搭建本地私服(nexus)倉庫

摘要:現在越來越多的項目都在使用Maven管理項目,尤其是在大型的項目團隊中使用Maven能帶來更加多的好處,私服的好處我相信大家都明白,在這里我就不多說了,它最重要的作用就是可以讓項目團隊成員更加方便的下載對應的項…

項目管理4321方法論

文章目錄 一、項目立項準備(4步)case1、識別價值---解決背后痛點的才是價值,價值是做任何事情的出發點case2、明確目標---支撐價值實現的,目標是 具體/可衡量/可達到/相關性/有時限的case3、識別干系人---找對人才能做對事&#x…

Maven之自定義archetype生成項目骨架(一)

摘要:使用過Maven的人都知道maven中有許多功能都是通過插件來提供的,今天我們來說一下其中的一個插件:maven-archetype-plugin,通過該插件可以自定義符合我們自己需求的archetype。 一:什么是Archetype 總之,原型是一…

匆匆那年之Java程序員之最近兩周的面試總結:

匆匆那年之Java程序員之最近兩周的面試總結: (一):匆匆那年之來帝都之初: 還記得那是2011年的冬天,我們一行20多個同學一起來到了這個一直向往的城市首都,剛到北京是凌晨4點30,負責送我們的老師 已經安排好了我們的住處…

Exception in thread main com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport e

摘要:在調用webservice客戶端代碼的時候報如下錯誤 Invoking reportLossByRdid... Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.UnknownHostException: opacat com.sun.xml.in…

org.springframework.http.converter.HttpMessageNotWritableException:

摘要:在使用SpringHibernate搭建RESTful API時,在Hibernate查詢出數據實體類使用jackson序列化為json時,返回頁面的時候報如下錯誤: 一:錯誤信息: HTTP Status 500 - Could not write JSON: No serializer …

Hessian Binary Web Service Protocol遠程接口調用入門

摘要:Hessian是一個輕量級的remoting onhttp工具,使用簡單的方法提供了RMI的功能. 相比WebService,Hessian更簡單、快捷。采用的是二進制RPC協議,因為采用的是二進制協議,所以它很適合于發送二進制數據。 hessian類似于…

Windows+Nginx+Tomcat搭建負載均衡和集群環境同時實現session共享(一)

摘要:隨著網站的訪問量越來越多,所以就考慮給網站增加服務器了,現在比較流行的做法就是給網站做集群環境,下面我把我做的過程記錄一下,方便日后查看,同時也希望可以幫助到有需要的朋友! 一&…