採用 active directory 進行 winbind 驗証

1. 描述

這個提示會描述如何設置 CentOS 的驗証設定,如讓它能使用 Windows Server 來進行驗証。我會描述如何在指令行中進項工作。這些指令行的內容可以行簡單地改在圖像版本中進行。我強烈建議你閱讀關於這方面的 samba 文檔,好讓你能理解 winbind 如何運作。

ArtWork/WikiDesign/icon-admonition-alert.png

警告: 這裡所提供的指令會重新設置驗証的設定。在你未完全明白它們之先,請勿使用。如果你出錯,你可能會無法登入你的系統!

2. 首要條件

在使用 winbind 之先,你必須安裝 samba-common 這個套件。

# yum install samba-common

要將 CentOS 這台電腦加入 Windows 的區域,你須要一個有效的區域管理員帳戶。

3. 實踐它

實際上真正要執行的是這樣一個長指令(你須要取替以 $ 起首的字串來配合你的本地設定):

# authconfig \
--update \
--kickstart \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbworkgroup=$ADSWorkgroup \
--smbrealm=$ADSDomain \
--smbservers=$ADSServer \
--winbindjoin=$AdminUser \
--winbindtemplatehomedir=/home/%U \
--winbindtemplateshell=/bin/bash \
--enablewinbindusedefaultdomain \
--enablelocauthorize

這的確是為數不少的參數,讓我們看看它們在做甚麼:

4. 額外參數

CentOS 內的 pam 採用堆疊方式,因此你可以在這裡放置其它驗証方法,有關各選項的詳情請參閱

# authconfig --help

或者 authconfig 的圖像介面。

5. 接著……

當你執行了那個指令後,它會重新寫入 pam 的 system-auth 設定,為你進行 net join ads,並要求你提供 --winbindjoin 所指定的區域管理員的密碼。之後,它會停用 nscd 及啟用 winbindd。如果成功的話,你可以利用 wbinfo 工具來檢查 winbind 的現況。要顯示用戶清單,執行

# wbinfo -u

詳情請參閱 wbinfo --help

6. 額外事項

6.1. kerberos 的 keytab

假如你的服務採用 kerberos keytab 檔(例如:httpd kerberos 驗証),你可以利用 net 這個指令來管理它。要建立一個 keytab 檔,你只需執行

# net ads keytab create

要將一個服務加進區域內(例如:HTTP)

# net ads keytab add HTTP

6.2. 限制存取權至某個群組

/etc/security/pam_winbind.conf 內,你可以透過 require_membership_of 這個參數來指定某個 windows 組別。一經設定,只有這個組別內的用戶才能驗証。如果你有其它方法(例如:kerberos 或 ldap)可以成功地驗証這些用戶,這個限制將不會生效。

6.3. 預定的 userid/groupid 對照

在上述/預設的設定下,winbind 會在每台機器上以動態形式進行 ActiveDirectory SID 到 unix UID/GID 的對照。當你需要在不同機器上有相同的 UID 時,這樣沒有幫助。典型的例子就是 NFS。winbind 提供了一個方法利用運算的方式來對照 UID/GID 及 SID。這是透過 idmap 的 rid 後端來達成的。要使用它,你必須以人手方式在 /etc/samba/smb.conf 內的 [global] 部份加入下列數行:

   idmap domains = DOMAIN
   idmap config DOMAIN:backend = rid
   idmap config DOMAIN:base_rid = 0
   idmap config DOMAIN:range = 20000 - 49999

當中 DOMAIN 是你的 ActiveDirectory 區域的 WINS 名稱。你也可以將另一個獲信任的區域內的用戶對照對其它範圍。詳情請查考 idmap_rid 的文檔:http://samba.org/samba/docs/man/manpages-3/idmap_rid.8.html在 CentOS 5 下,請確定你在採用以下方式標示的範圍外加入上述內容:

#--authconfig--start-line--
..
#--authconfig--end-line--

以避免 authconfig 更改它。

Translation of revision 8

zh-tw/TipsAndTricks/WinbindADS (last edited 2019-12-09 09:11:38 by anonymous)