首頁 »
2004/12/10

LDAP目前擬定的解決方案

將FreeBSD,Windows 2003 server,phpBB三套系統上的使用者帳號做整合管理。帳號整合後可以帶來以下的優點:
  • 使用者單一登入(Single Sign On):
  • 使用者登入後,除非使用者登出,否則存取其他資源時,系統將自動進行認證,不會再跳出視窗要求輸入帳號密碼,這樣的整合對於使用者來說最為方便。
  • 使用者單一帳號與密碼(Single Account/Password):
  • 讓使用者不用背太多密碼。而且在某一台電腦上,更改某個服務的密碼後,所有其他的電腦與服務皆全部適用新密碼。
  • 中央控管所有使用者的資料與設定:
  • 除了方便使用者外,管理者也能從帳號整合中獲利。因為帳號不是分散在各個電腦或各個服務上,所以新增帳號或更改仰用者的帳號資料時,只要在主控電腦上作業即可,不需要四處設定,大大地增進管理上的效率。
目前擬定的解決方案 1 架設OpenLDAP server 於FreeBSD主機上 1.1 規劃目錄資訊樹,建立正確的LDIF(LDAP Data Interchange Format)檔(考慮需要用到的attribute,並參考各物件類別的schema,選擇適合的物件類別來使用)。可參考http://ldap.akbkhome.com。 1.1.1 根物件: base.ldif dn: dn=azure, dc=com, dc=tw objectClass: top objectClass: domain dc: azure 1.1.2 容器物件 container.ldif dn: ou=People, dc=azure, dc=com, dc=tw objectClass: top objectClass: organizationalUnit ou: People dn: ou=Group, dc=azure, dc=com, dc=tw objectClass: top objectClass: organizationalUnit ou: Group 1.1.3 葉物件 以root帳號為例 dn: uid=root, ou=People, dc=azure, dc=com, dc=tw uid: root cn: root objectClass: top objectClass: posixAccount userPassword: 帳號密碼,要以slappasswd指令產生 loginShell: bin/bash uidNumber: 0 gidNumber: 0 homeDirectory: /root 也可使用移轉工具來轉譯本機上/etc/passwd、/etc/group、/etc/hosts,產生相對應的帳號資料庫: 可以把FreeBSD的帳號轉到LDAP。(要先設定migrate_common.ph檔) 另外,使用phpLDAPAdminLDAPBrowser工具來管理也是個好方法。 1.2 設定LDAP伺服器 設定檔為slap.conf,該檔案位於/etc/openldap目錄下。 1.3 啟動LDAP伺服器 1.4 新增資料庫物件 1.5 確定LDAP伺服器是否正確運作(可利用ldapsearch指令) 1.6 設定LDAP用戶端透過LDAP認證使用者 1.7 讓FreeBSD主機認證時先去找LDAP服務 2.phpBB部份 2.1方案一:使用別人撰寫的程式碼 參考資料: http://phorum.study-area.org/viewtopic.php?t=15561 http://phorum.study-area.org/viewtopic.php?t=16425 2.2方案二:在phpBB上安裝ldapauthmod 應用phpBB LDAP Authentication Module 3.Windows 2003 server部份 3.1使用pGina讓Windows採用LDAP伺服器上的帳號登入 3.1.1在Windows安裝與使用pGina的LDAPAuth外掛模組 4.目前看來是可以不用自己寫程式,但如果真的有必要撰寫程式時,可使用Perl配合CPAN上既有的模組撰寫程式,可能會使用到的模組有:
  • Win32::Admin
  • Win32::AdminMisc
  • Win32::NetAdmin
  • Win32::Lanman
  • HTTPD::UserAdmin
  • Net::LDAP
  • Perl-LDAP

關鍵字: 用戶 資源

LDAP相關資料整理←上一篇 │首頁