現場(環境):CentOS 7.3 套件:openldap、phpldapadmin
Step1. 下載相關套件
#yum install openldap* compat-openldap -y
Step2. 設定檔介紹
*DB_CONFIG是資料庫設定檔
*slapd.conf是OpenLDAP設定檔範例
# 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
後面就能去下載 LDAP的OpenSource回來繼續進行安裝。
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
留言列表