2.1 Samba 組成
一個 samba 服務器實際上包含了兩個服務器程序:smbd 和 nmbd。Smbd 是 samba 的核心。它負責建立對話進程、驗證用戶身份、提供對文件系統和打印機的訪問機制。Nmbd 實現了"network browser"(網絡瀏覽服務器)的功能。它的作用是對外發布 samba 服務器可以提供的服務。Nmbd 可以使 samba 服務器出現在 Windows 95 或 Windows NT的"Network Neighborhood"(網絡鄰居)中并且可以客戶機瀏覽到可以訪問的資源。完全可以不運行 nmbd 而起動 samba 服務器進程,但是也許客戶除了想看到 samba 服務器的 NetBIOS 名外,還想看到 samba 服務器可以提供的服務。
2.2 Samba 配置
由于 SMB 是一個非常復雜的協議,所以配置 samba 是十分繁復的,大約有超過 170 條配置項出現在 smb.conf文 件中。在 RedHat 和 Debian 中 Smb.conf 文件缺省位置是在 /etc/ 下,所有的 samba 程序都要參照這個配置文件。其結構十分類似 Windows 的 *.ini 文件。文件中的每一節都由一個被方括號括起來的標識開始,例如:[global]、[home] 和 [printers]。
每一個配置參數或是一個全局參數(影響或控制整個服務器),或是一個服務參數(影響或控制服務器提供的某項服務)。[global] 節設置全局選項和一些缺省的服務選項。[home] 節是用來動態的映射到每個用戶的 home 目錄下。[printers] 節用來設置將按照系統 printcap 文件配置的打印機共享至指定用戶。
2.3 一個簡單的 smb.conf
下面的 smb.conf 描繪了一個簡單的但能工作的配置:
|
在 [global] 節中設置了主機的 netbios 名,主機所在的工作組的組名和將在 browse list 出現的提示字串。安全參數提示 samba 使用"user level"(用戶級) 安全級別。SMB 有兩種安全級別:share(共享級,對每個特定的資源使用口令保護和指定每個用戶有各自不同的訪問權限)和 user level(用戶級)。不過在大多數情況下,你使用的是用戶級安全級別。 由于沒有指定特殊的加密方式,samba 缺省使用標準的 unix 口令字驗證方式既 plaintext 口令字驗證方式驗證每個連接。若你的 linux 使用 PAM 模塊,那麼你必須修改 PAM 配置使 samba 可以通過口令字數據庫驗證口令字。RadHat 自動進行這些處理。
[homes] 節中的設置用來控制每個用戶 home 目錄的共享情況。Comment parameter(注解參數)是在 browse list 中標示該條目的字串。 browseable 參數控制是否該項服務出現在 browse list 中。
下列的配置使每個可以登錄至 samba 服務器的用戶使用在系統 printcap 文件中定義過的打印機。
|
完成 smb.conf 文件的配置后,可以使用 Testparm 命令來快速檢查 smb.conf 文件的語法錯誤。 通過以上配置,在 Linux 主機上運行 Samba 服務程序:smbd 和 nmbd。Windows 與 Unix、Linux 便可以很方便地進行進行數據交換。


