2010年11月15日 星期一

OpenLDAP實作




相關套件:
openldap.i386 : OpenLDAP 的設定檔、函式庫、以及說明文件。
openldap-clients.i386 : OpenLDAP 的用戶端程式。                 //client套件
openldap-devel.i386 : OpenLDAP 的開發函式庫與標頭檔。
openldap-servers.i386 : OpenLDAP 伺服器程式與相關檔案。     //server套件
openldap-servers-sql.i386 : OpenLDAP 伺服器的 SQL 支援模組。

相關目錄與檔案:
/etc/openldap
/var/lib/ldap
/usr/share/openldap/    //其中migration目錄有轉換工具

LDIF格式:     //LDAP儲存資料用的格式
部門:研發部                  //一筆紀錄(entry)
      層級:第一級            //這個紀錄有兩個屬性(attribute)
      辦公室位置:B棟6樓

人員:陳小明
      部門:研發部
      電話:12345678#777
      職稱:專員


設定:
# cd /etc/openldap
# vim slapd.conf     //修改下面幾行
#suffix         "dc=my-domain,dc=com"
#rootdn         "cn=Manager,dc=my-domain,dc=com"
suffix          "dc=test,dc=com"
rootdn          "cn=Manager,dc=test,dc=com"
rootpw         1qaz2wsx      //管理者密碼以明碼表示
*可用編碼過的方式
# slappasswd
New password:
Re-enter new password:
{SSHA}NHz9J41eL9VKuuiHtisp7dEbwj/HqEJO

# vim slapd.conf
rootpw {SSHA}NHz9J41eL9VKuuiHtisp7dEbwj/HqEJO

# ls /var/lib/ldap/              //檢查有無DB設定檔
openldap-severs-update.log
# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG   //cp sample檔案過去
# chown ldap:ldap /var/lib/ldap/ -Rf      //更換擁有者
# /etc/init.d/ldap restart           //啟動應會正常,但還沒有任何資料
# ldapadd -x -W -D 'cn=Manager,dc=test,dc=com'    //server online新增方式
Enter LDAP Password:                  //輸入剛設定的密碼
dn: dc=test,dc=com
objectclass: dcObject
objectclass: organization
o: TEST Corp.
dc: test

adding new entry "dc=test,dc=com"

dn: cn=Manager,dc=test,dc=com
objectclass: organizationalRole
cn: Manager

adding new entry "cn=Manager,dc=test,dc=com"

"Ctrl+D結束"
//藍色字體表示固定類別名稱,勿變動

轉換本機帳號/群組:
1.準備測試用帳號:
# groupadd -g 3800 hr
# useradd -g 3800 backy

2.轉換
# /usr/share/openldap/migration/migrate_all_online.sh     //online轉換資料,內容在170左右
Enter the X.500 naming context you wish to import into: [dc=padl,dc=com] dc=test,dc=com
Enter the hostname of your LDAP server [ldap]: localhost
Enter the manager DN: [cn=manager,dc=test,dc=com]:
Enter the credentials to bind with:                    //管理者密碼
Do you wish to generate a DUAConfigProfile [yes|no]? no
.....
//會有錯誤訊息,這個範例可以不理

測試:
1.slapcat
#  slapcat
dn: dc=test,dc=com
objectClass: dcObject
objectClass: organization
o: TEST Corp.
dc: test
structuralObjectClass: organization
entryUUID: 4b8951be-84f3-102f-8d68-ab49309a10a3
creatorsName: cn=Manager,dc=test,dc=com
createTimestamp: 20101115110025Z
entryCSN: 20101115110025Z#000000#00#000000
modifiersName: cn=Manager,dc=test,dc=com
modifyTimestamp: 20101115110025Z

dn: cn=Manager,dc=test,dc=com
objectClass: organizationalRole
cn: Manager
structuralObjectClass: organizationalRole
entryUUID: 4d4589ae-84f4-102f-8d6b-ab49309a10a3
creatorsName: cn=Manager,dc=test,dc=com
createTimestamp: 20101115110738Z
entryCSN: 20101115110738Z#000000#00#000000
modifiersName: cn=Manager,dc=test,dc=com
modifyTimestamp: 20101115110738Z

2.用另一台主機加入domain     //該主機應沒有backy帳號
#setup
正確輸入後,使用backy登入測試
//可登入後應沒有家目錄,需配合NFS做掛載家目錄 

沒有留言:

張貼留言