OpenLDAP 及 LDAP Account Manager 安裝及管理工具

BUBU 因為公司沒有使用 AD服務,所以在設定帳號時候需要到各服務器上面手動一台一台建置,目前有一個輕量簡易型的 OpenLDAP 這個服務,這是專門統一控管所有的帳號及跟服務器上進連接,這樣子可以省下每台服務器上建置帳號,只要在主要的 OpenLDAP 主機設定,其他的服務器就會跟同步到了。

 

OpenLDAP設定及安裝

安裝 OpenLDAP 套件
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel

安裝好啟動 LDAP 服務

systemctl start slapd ; systemctl enable slapd

驗證 LDAP 服務是否有正常運行

netstat -antup | grep -i 389

以下是執行的結果:

設定 LDAP 管理員密碼
slappasswd -h {SSHA} -s 填入密碼

將顯示出的結果記錄下來等一下會用到。

{SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3
設定 LDAP 服務

手動建立設定檔,手動修改 CN=XXX、DC=XXX、olcRootPW

vim db.ldif

dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=51cto,dc=com

dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=ldapadm,dc=51cto,dc=com

dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootPW olcRootPW: {SSHA}d/thexcQUuSfe3rx3gRaEhHpNJ52N8D3

 

修改完,在將剛剛設定檔寫入 LDAP 服務

ldapmodify -Y EXTERNAL  -H ldapi:/// -f db.ldif

以下是顯示出來的結果: SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={2}hdb,cn=config"

modifying entry "olcDatabase={2}hdb,cn=config"

modifying entry "olcDatabase={2}hdb,cn=config"

設定管理者,手動修改 CN=XXX、DC=XXX

vim monitor.ldif

dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=51cto,dc=com" read by * none

將剛剛設定的檔寫入 LDAP 服務

ldapmodify -Y EXTERNAL  -H ldapi:/// -f monitor.ldif

顯示結果: SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={1}monitor,cn=config"

設定 LDAP 資料庫

將範例資料庫配置檔複制到 /var/lib/ldap並更新檔案權限

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

添加 cosine 和 nis LDAP 模式

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

將您所建置的網域寫入 LDAP 服務,並且建置架構,手動修改 CN=XXX、DC=XXX

vim base.ldif

dn: dc=51cto,dc=com dc: 51cto objectClass: top objectClass: domain

dn: cn=ldapadm ,dc=51cto,dc=com objectClass: organizationalRole cn: ldapadm description: LDAP Manager

dn: ou=People,dc=51cto,dc=com objectClass: organizationalUnit ou: People

dn: ou=Group,dc=51cto,dc=com objectClass: organizationalUnit ou: Group

寫入 LDAP 服務

ldapadd -x -W -D "cn=ldapadm,dc=51cto,dc=com" -f base.ldif   << cn=xxx 及 dc=xxx 修改掉

輸入完之後會要求輸入您剛剛所建立的管理者的密碼

輸入成功密碼會顯示如下的結果:

Enter LDAP Password: adding new entry "dc=51cto,dc=com"

adding new entry "cn=ldapadm ,dc=51cto,dc=com"

adding new entry "ou=People,dc=51cto,dc=com"

adding new entry "ou=Group,dc=51cto,dc=com"

 

安裝 LDAP Account Manager 圖示管理工具

這是使用網頁的方式來管理服務,這一套是有分版本,目前 BUBU 安裝基本版,如果覺的不錯用想要長期使用可以考慮他們家的付費版,必須要先安裝 Apache 及 php 安裝方式可以參考我之前所記錄的 Apache 服務

套件下載,請至官方下載當時所下載的版本是 6.7 版,未來還會有版本更新,請到時下載新的版本

BUBU 是下載 rpm版本

wget http://prdownloads.sourceforge.net/lam/ldap-account-manager-6.7-0.fedora.1.noarch.rpm

安裝套件 rpm -ivh ldap-account-manager-6.7-0.fedora.1.noarch.rpm

設定 LDAP Account Manager 建立所需目錄 mkdir /usr/share/ldap-account-manager/config/profiles/lam mkdir -p /usr/share/ldap-account-manager/config/pdf/lam/logos

改變目錄擁有者 cd /usr/share/ldap-account-manager chown -Rf apache.apache sess/* tmp/* lib/* config/*

重新啟動 Apache Web Server systemctl restart httpd

 

修改 LDAP Account Manager 服務設定檔

cd /usr/share/ldap-account-manager/config
vim lam.conf //修改lam.conf設定檔
修改以下幾個設定:
------------略--------------
admins: cn=Manager,dc=domain,dc=com  << cn=xxx 及 dc=xxx 修改掉
treesuffix: dc=domain,dc=com  << dc=xxx 修改掉
defaultLanguage: zh_TW.utf8:UTF-8:繁體中文(台灣) 預設成中文
-----------略------------

接著修改php.ini vim php.ini 修改 memory_limit = 128M

systemctl restart httpd

請開啟瀏灠器並且輸入 http://Server's IP/lam

登入畫面

lam-1.png

登入進去畫面

lam-2.png




參考相關網頁