文中有不對或者有不清楚的地方,請你們告訴我,謝謝!
Samba服務介紹
1. Samba 概述
Samba是一套使用SMB(Server Message Block)協議的應用程序, 經過支持這個協議, Samba容許Linux服務器與Windows系統之間進行通訊,使跨平臺的互訪成爲可能。Samba採用C/S模式, 其工做機制是讓NetBIOS( Windows 網上鄰居的通訊協議)和SMB兩個協議運行於TCP/IP通訊協議之上,而且用NetBEUI協議讓Windows在「網上鄰居」中能瀏覽Linux服務器。
Samba服務器包括兩個後臺應用程序: Smbd 和 Nmbd。Smbd 是Samba的核心, 主要負責創建 Linux Samba服務器與Samba客戶機之間的對話, 驗證用戶身份並提供對文件和打印系統的訪問; Nmbd主要負責對外發布Linux Samba服務器能夠提供的NetBIOS名稱和瀏覽服務,使Windows用戶能夠在「網上鄰居」中瀏覽Linux Samba服務器中共享的資源。另外Samba還包括一些管理工具, 如 smb-client, smbmount, testparm, Smbpasswd 等程序。
Samba服務器可實現以下功能:WINS和DNS服務; 網絡瀏覽服務; Linux和Windows域之間的認證和受權; UNICODE字符集和域名映射;知足CIFS協議的UNIX共享等。
2. Samba的主要應用
SAMBA的主要目的就是用來溝通Windows與Unix這兩種不一樣的做業平臺。
主要應用:
共享檔案與打印機服務;
提供身份認證;
提供Windows網絡上的主機名稱解析(NetBIOS name)。
3. NetBIOS通信協議
SAMBA是架構在NetBIOS(Network Basic Input/Output System,NetBIOS)這個通信協議上的。
NetBIOS是一個讓同一局域網絡內計算機進行網絡連結的一個通信協議。所以,它是沒法跨路由的 (Router/Gateway)。
NetBIOS over TCP/IP是將NetBIOS協議封裝在TCP/IP中,這樣NetBIOS就能夠跨路由傳輸了。
4. Samba的兩個進程
SAMBA主機使用兩個進程來管理兩個不一樣的服務:
smbd:用來處理文件和打印服務請求。
nmbd:用來處理NetBIOS名稱服務請求和網絡瀏覽功能。
當咱們啓動了SAMBA以後,主機系統就會啓動137,138,139這三個port,而且同時會有TCP/UDP的監聽服務。
5. 兩種聯機模式
兩種最多見的局域網聯機模式:peer/peer及domain model。
peer/peer:局域網內各PC機之間獨立運行,適用於小型網絡。
domain model:局域網內各PC機統一經過PDC主機認證(LDAP),以獲取適當的權限,適用於大中型網絡。
6. Samba的幾個主要配置文件(/etc/samba)
smb.conf:最主要的配置文件,分爲[global]和[Share Definitions]兩個部分。
lmhosts:對應NetBIOS Name與該主機的IP,通常Samba在啓動時就能捕捉到LAN中相關計算機NetBIOS Name對應的IP,所以,這個配置文件通常不用設置。
smbpasswd:這個文件默認不存在,它是Samba預設的使用者密碼對應表。
7. Samba的幾個主要命令
smbpasswd:用來設置Samba用戶的賬號和密碼。
smbclient:用來查看別的Linux主機的共享。也能夠在本身的Samba主機上使用,用來查看設置是否成功。
smbmount:用來將Samba服務器共享的文檔和目錄掛載到本身的Linux主機上。
testparm:用來檢查smb.conf是否有錯誤。
8. smb.conf的幾個經常使用變量
①客戶端變量
-----------------------------------------------------------------------------
%a | 客戶端的體系結構(例如Samba,NT,Win98,或者Unknown)
%I | 客戶端的IP地址(例如:192.168.220.100)
%m | 客戶端的NetBios名
%M | 客戶端的DNS名
------------------------------------------------------------------------------
②用戶變量
------------------------------------------------------------------------------
%g | %u的基本組
%G | %U的基本組
%H | %u的Home目錄
%u | 當前的unix用戶名
%U | 被請求的客戶端用戶名(不老是被samba使用)
------------------------------------------------------------------------------
③共享變量
------------------------------------------------------------------------------
%p | 若是和%p不一樣,automounter的路徑對應共享的根目錄
%P | 當前共享的根目錄
%S | 但前共享的名稱
-------------------------------------------------------------------------------
④服務器變量
-------------------------------------------------------------------------------
%d | 當前服務器進程的ID
%h | Samba服務器的DNS主機名
%L | Samba服務器的netbios名
%N | Home目錄服務器,來自automount的映射
%v | samba版本
-------------------------------------------------------------------------------
⑤其餘變量
-------------------------------------------------------------------------------
%R | 通過協商的SMB協議
%T | 當前的日期和時間
9. 四種安全等級
①security=share:用戶訪問Samba服務器不須要提供用戶名和口令, 安全性能較低。
②security=user:Samba服務器默認的安全等級, 每個共享目錄只能被必定的用戶訪問, 並由Samba服務器負責檢查帳號和密碼的正確性。
③security=server:服務器安全級別,依靠其餘Windows NT/2000或Samba服務器來驗證用戶的帳號和密碼,是一種代理驗證。此種安全模式下,系統管理員能夠把全部的Windows用戶和口令集中到一個NT系統上,使用Windows NT進行Samba認證, 遠程服務器能夠自動認證所有用戶和口令,若是認證失敗,Samba將使用用戶級安全模式做爲替代的方式。
④security=domain:域安全級別,使用主域控制器(PDC)來完成認證。