2012年4月25日 星期三

將Linux系統加入Active Directory網域 (Joining Linux to Active Directory Domain)

為了達到企業企盼的單一登入(SSO)的驗證環境目標,利用既有的Active Directory網域安全性資料庫來集中驗證所有網路使用者,所以首先必需將公司幾部CentOS Linux加入Active Directory網域,讓員工直接使用Active Directory的帳戶及密碼就可以登入linux機器

,其基本做法及步驟如下:
  1. 安裝winbind
    • # yum –y install samba-winbind samba-winbind-clients
  2. 執行認證程式—system-config-authentication
  3. 重新啟動下列服務並設定每次開機時自動啟動:
    • # service smb restart  (或 systemctl restart smb ; systemctl enable smb)
    • # service nmb restart  (或 systemctl restart nmb ; systemctl enable nmb)
    • # service winbind start  (或 systemctl restart winbind ;  systemctl enable winbind)
    • # service nscd restart (或 systemctl restart nscd ; && systemctl enable nscd)
  4. 測試登入


設定認證程式

RedHat/CentOS/Fedora Linux上使用 system-config-authentication工具來將Linux機器加入網域是最簡便友善方式,如果您的機器並無此工具,則您需要安裝 authconfig-gtk 這個套件,此外請將DNS伺服器指向網域控制站或於 /etc/hosts檔案內新增網域控制站資訊。

system-config-authentication

linux_join_ad1

 

linux_join_ad2

 

 

手動設定加入網域相關組態檔

如果您並非使用 RedHat/Fedora/Centos Linux,則您的Linux上並不會有 system-config-authentication 這個簡單加入Active Directory網域,您需要編輯nsswitch、samba、kerberos服務、pam系統驗證等相關組態檔:

 

linux_join_ad3

 

linux_join_ad4

 


測試

  • 檢視Active Directory使用者帳號
    • # wbinfo –u
  • 測試Active Directory驗證
    • # wbinfo -a "username"%"password"
  • 檢視所有Linux帳戶與AD帳戶
    • # getent passwd

linux_join_ad5

登入測試

接下來將直接使用Active Directory使用者登入linux機器,不論是文字模式登入或圖形介面登入時,請使用下列名稱格式登入:

<網域名稱>\<使用者名稱>

 

linux_join_ad6