摘要:最近部門需要整合所有的系統,所以領導說要通過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,則配置成功。
# 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
打開客戶端圖形化界面命令行,輸入system-config-authentication,按照如圖配置:
配置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