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
登入畫面
登入進去畫面