28.5. 做為登入伺服器的 Samba

在以 Windows 用戶端為主的網路中,通常會建議使用者只註冊一個有效的帳戶與密碼。在以 Windows 為基礎的網路中,這個工作是由設定成主要領域控制器 (PDC) 的 Windows NT 伺服器來處理,但這也可藉由 Samba 伺服器來完成。在 smb.conf[global] 區段中必須編輯的項目如 範例 28.3, "在 smb.conf 中的全域區段" 所示。

範例 28.3. 在 smb.conf 中的全域區段

       [global]
       workgroup = TUX-NET
       domain logons = Yes
       domain master = Yes

如果使用加密的密碼來驗證 (這是維護良好的 MS Windows 9x 安裝、MS Windows NT 4.0 加上 Service Pack 3 以及所有之後產品的預設值),Samba 伺服器必須能夠處理它們。在 [global] 區段中的 encrypt passwords = yes 項目可以啟用此功能 (在 Samba 版本 3,這已是預設值)。除此之外,必須準備符合 Winodws 加密格式的使用者帳戶與密碼。請使用 smbpasswd -a name 指令來執行此動作。使用下列指令為電腦建立領域帳戶 (Windows NT 領域概念所需):

範例 28.4. 設定機器帳戶

       useradd hostname\$
       smbpasswd -a -m hostname

使用 useradd 命令,就會加上貨幣符號。當使用 -m 參數時,smbpasswd 指令就會自動插入這個符號。加備註的組態範例 (/usr/share/doc/packages/Samba/examples/smb.conf.SuSE) 包含自動化此工作的設定值。

範例 28.5. 機器帳戶的自動化設定


       add machine script = /usr/sbin/useradd -g nogroup -c "NT Machine Account" \
       -s /bin/false %m\$
     

若要確定 Samba 可以正確地執行此程序檔,請選擇具有所需管理員權限的 Samba 使用者。若要這麼做,請選取一個使用者,並將它加入 ntadmin 群組。在此之後,就可以使用下列指令指定 Domain Admin 狀態給所有屬於此 Linux 群組的使用者:

     net groupmap add ntgroup="Domain Admins" unixgroup=ntadmin
   

如需關於此主題的詳細資訊,請參閱 /usr/share/doc/packages/samba/Samba-HOWTO-Collection.pdf 中第 12 章的「Samba HOWTO 文件集」。