close

現場(環境):CentOS 7.3   套件:openldapphpldapadmin

 


Step1. 下載相關套件

#yum install openldap* compat-openldap -y

 


Step2. 設定檔介紹

*DB_CONFIG是資料庫設定檔

*slapd.confOpenLDAP設定檔範例

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

#cp /usr/share/openldap-servers/slapd.ldif /etc/openldap/slapd.ldif

更改權限

# chown -R ldap.ldap /etc/openldap/

# chown -R ldap.ldap /var/lib/ldap/

 


Step3. 重啟Service確認目前是否正確啟動

#systemctl restart slapd

這邊確認服務狀態,TCP-389有正常開啟。

預設的狀況下LDAP可支援多種資料庫進行資料儲存,

但預設狀況最相容的是採用Berkeley DB最為後端的儲存。

這邊的設定只是要先確認LDAP套件下載回來可以正確執行

確認後關閉服務

#systemctl stop slapd

開始準備來進行設定

 


補充. 安裝Berkeley DB (也是Oracle產品)

不想要用yum安裝LDAP的朋友,在安裝OpenLDAP套件前要先安裝好BDB。

連結網址:

http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html

依照環境,我們抓取.tar.gz檔案回來放到伺服器上。

 

安裝Berkeley DB所需環境/相異性套件

#yum install libtool-ltdl* gcc* openssl* -y

解壓縮到指定路徑

# tar -zxvf db-6.2.32.tar.gz -C /usr/local/src

創建BDB預設安裝路徑

# mkdir /usr/local/BDB

切換到安裝路徑中(透過prefix指定安裝到BDB folder)

# cd /usr/local/src/db-6.2.32/build_unix/
# ../dist/configure --prefix=/usr/local/BDB

#make && make install

後面就能去下載 LDAPOpenSource回來繼續進行安裝。

 


Step 4 LDAP_slapd.ldif簡單介紹

*slapd.ldif

裡面有關於我們建置LDAP最基本的設定值

14-16行是我們要設定LDAPS時的相關設定

在設定檔最後的方面就是要設定LDAP域名的關鍵。

 


Step 5. 初始化OpenLDAP

要初始化OpenLDAP一定要將

/etc/openldap/slapd.d資料夾內的設定都清空。

#cp -rf /etc/openldap/slapd.d  /etc/openldap/slapd.dBAK

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

先知道一下設定LDAPS的地方

我們先來創建OpenLDAP服務管理員密碼。

#slappasswd

這邊產生的數值要記下來(每次都會不同)

或者產生時直接儲存進檔案內。

#slappasswd > passwd.txt

{SSHA}zb0MX1pdWbhiV/7GkDSltw/d9uu0sTge

 

建立初始化檔案

#vim /etc/openldap/slapd.ldif

在設定檔的最下方添加一行設定。

olcRootPW: {SSHA}zb0MX1pdWbhiV/7GkDSltw/d9uu0sTge

並且修正dc設定值為自己的網域(本例使用itbest.com)

 

轉換設定檔

# /usr/libexec/openldap/convert-config.sh

確認轉換後的設定值資訊

  head -20 /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{[12]*

 

測試LDAP的設定檔是否正確

#slaptest -u

 


Step 6. 重建資料庫

清除資料庫範例檔

#rm -rvf /var/lib/ldap/*

 

複製資料庫(default)的設定值過去

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

 

清空certs

# rm -rvf /etc/openldap/certs

# mkdir /etc/openldap/certs

 

建立certs DB

# /usr/libexec/openldap/create-certdb.sh

# /usr/libexec/openldap/generate-server-cert.sh

 


Step 7. 啟動LDAP

更改擁有者

 #chown ldap.ldap -R /etc/openldap/

# chown ldap.ldap -R /var/lib/ldap/

 

啟動LDAP

# systemctl start slapd

# systemctl enable slapd

 

確認LDAP啟動是否正確

#slaptest

這次是正式啟動LDAP了。

 


Step 8. 建立Domain / 新增群組

添加schema (將存放在schema內的都匯入)

# /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done

 

建立網域資料

# vim domain.ldif

=!===

dn: dc=itbest,dc=com

objectClass: top

objectClass: dcObject

objectclass: organization

o: itbest

dc: itbest

 

dn: ou=itadmin,dc=itbest,dc=com

objectClass: organizationalUnit

ou: itadmin

description: se_account

 

dn: ou=itprog,dc=itbest,dc=com

objectClass: organizationalUnit

ou: itprog

description: pg_account

=!=====

 

# ldapadd -D cn=Manager,dc=itbest,dc=com -W -f domain.ldif

如果指令輸入錯(dc 錯誤...等原因)。或者密碼錯誤會出現下方訊息。

這方面就必須要自己debug

 

成功的話會像下方匯入網域。

 


Step 9. 使用WEB來查看LDAP

先前有分享安裝jxplorer來管理LDAP

這邊來說另一套,PHP撰寫而成的管理軟體。

#yum install epel-release

#yum install phpldapadmin

 

修改phpldapadmin設定值。

#vim /etc/phpldapadmin/config.php

=!===

$servers->setValue('login','attr','dn');

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

=!===

 

修改httpd設定

# vim /etc/httpd/conf.d/phpldapadmin.conf

 

原設定為Require local,修改成可以連入的網段

 

重啟httpd服務。

#systemctl enable httpd

#systemctl start httpd

 

透過瀏覽器連線phpldapadmin

http://[IP位置]/phpldapadmin

點選login

輸入登入資訊

Login DN:

cn=Manager,dc=itbest,dc=com

密碼部份就是在slappasswd時輸入的密碼。

 

這邊就可以看到你創建出來的Domina & OU結構

 

關於建立使用者部份,都會建議使用ldapadd去執行ldif檔案做建立。

這樣子建立的帳號問題比較少,也可以一次性大量建立帳號。

EX: 要創建quentin 帳號

 

# vim fseconduser.ldif

=!===

dn: uid=quentin,ou=itadmin,dc=itbest,dc=com

objectClass: top

objectclass: person

objectClass: inetOrgPerson

cn: quentin

sn: quentin

givenName: Joe

displayName: Quentin Joe

employeeNumber: itbest0001

uid: itbest0001

ou: 資訊部

userPassword: {MD5}r5ROk7M...

=!===

密碼部份看你使用MD5還是SSHA創見。前面要用{ }標示。

如果是明碼就直接輸入

 

建立使用者帳號

# ldapadd -D cn=Manager,dc=itbest,dc=com -W -f firstuser_new.ldif

 

之後到phpldapadmin頁面重整,就可以看到相關資訊。

 

LDAP要變成LDAPS。請參閱網址:

IT事件簿-OpenLDAP添加SSL憑證

 

<本篇完>

 


參考網址:

http://weng-weiling.blogspot.tw/2017/05/ldap-server.html

http://jamyy.us.to/blog/2016/07/8245.html

https://www.topjishu.com/8781.html

 

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(0) 人氣()