linux samba服務是在Linux和unix系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。Samba最大的功能就是可以用于Linux與windows系統直接的文件共享和打印共享,Samba既可以用于windows與Linux之間的文件共享,也可以用于Linux與Linux之間的資源共享,由于NFS可以很好的完成Linux與Linux之間的數據共享上面。
本教程操作系統:linux5.18.14系統、Dell G3電腦。
什么是Samba
SAMBA是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。SMB協議是客戶機/服務器型協議,客戶機通過該協議可以訪問服務器上的共享文件系統、打印機及其他資源。通過設置“NetBIOS over TCP/IP”使得Samba不但能與局域網絡主機分享資源,還能與全世界的電腦分享資源。
Samba的功能
Samba最大的功能就是可以用于Linux與windows系統直接的文件共享和打印共享,Samba既可以用于windows與Linux之間的文件共享,也可以用于Linux與Linux之間的資源共享,由于NFS(網絡文件系統)可以很好的完成Linux與Linux之間的數據共享,因而 Samba較多的用在了Linux與windows之間的數據共享上面。
Samba的工作協議
Samba服務功能強大,這與其通信基于SMB協議有關。SMB不僅提供目錄和打印機共享,還支持認證、權限 設置。-
Samba在windows下使用的是NetBIOS協議,如果你要使用Linux下共享出來的文件,請確認你的windows系 統下是否安裝了NetBIOS協議 。
Samba的工作原理
協議協商客戶端在訪問Samba服務器時,發送negprot指令數據包,告知目標計算機其支持的SMB類型。Samba 服務器根據客戶端的情況,選擇優的SMB類型,并做出回應。
建立連接當SMB類型確認后,客戶端會發送Session setup指令數據包,提交帳號和密碼,請求與Samba服務器建 立連接,如果客戶端通過身份驗證,Samba服務器會對session setup報文作出回應,并為用戶分配唯一 的UID,在客戶端與其通信時使用。
訪問共享資源客戶端訪問Samba共享資源時,發送tree connect指令數據包,通知服務器需要訪問的共享資源名,如 果設置允許,Samba服務器會為每個客戶端與共享資源連接分配TID,客戶端即可訪問需要的共享資源。
斷開連接共享使用完畢,客戶端向服務器發送tree disconnect報文關閉共享,與服務器斷開連接 。