SAMBA是Windows與Linux之間的紅娘
現在企業中,單純的Linux系統環境還是很上見。大部分的企業都是Linux系統與Windows系統并存。如企業可能只用Linux系統來部署一些服務器的應用。因為Linux操作系統其穩定性相對來說比Windows操作系統要強一點,而且又是免費的。故對于大部分企業來說Linux操作系統是服務器操作系統的一個很明智的選擇。為此大部分企業可能會在Linux系統上部署文件服務器、Oracle數據庫系統等等。
另外在客戶端的選擇上,企業可能處于工作方便等考慮,會偏向于選擇Windows的客戶端。不過筆者相信隨著后續微軟盜版力度的加強,企業在客戶端的選擇上也會偏向于Linux系統。但是在短時間內由于種種的限制,企業還是采用Windows操作系統作為客戶端的情況比較多。而在Windows操作系統中,網上鄰居是一個很有用的網絡功能。通過網上鄰居用戶可以查看網絡上的所有共享資源,如共享打印機等等。這對于企業網絡資源共享、提高工作效率具有很大的幫助。但是可惜的是,通常情況下通過網上鄰居是找不到Linux主機的身影。為此也就不能夠通過網上鄰居來訪問Linux服務器上共享文件與服務。為了解決這個問題,一些Linux系統的志愿者開發了一個叫做SAMBA的服務器軟件。它就好像是一個紅娘,在為Windows操作系統與Linux操作系統做介紹。通過這款服務器軟件,不僅可以建立兩個操作系統之間的連接;還可以作為打印服務器,為Windows客戶端提供連接打印功能等網絡服務。如下圖所示:
假設現在企業采用的是Windows客戶端,想通過網上鄰居找到網絡上的Linux操作系統的主機,該如何處理呢?此時就需要通過SAMBA服務器軟件的幫助才行。
一、SAMBA與Windows系統兼容性的體現。
SAMBA其實就是一種在SMB服務上實現的一種在Linux操作系統上部署的服務器軟件。目前在Windows等操作系統平臺上也有各自的SMB服務器軟件,不過SAMBA只能夠運行在Luix、Unix或者其他跟這兩個系統類似的操作系統上。SAMBA設計的目的主要是為了向Windows操作系統與Linux操作系統提供一種溝通的橋梁。為此他具有了一些強而有力的措施來提高兩個操作系統之間的兼容性。具體來說,這個兼容性主要體現在以下兩個方面。
1、 部署有SAMBA的Linuc系統可以加入到Windows域中。
在Windows的網絡環境中,其主要可以分為工作組與域兩種操作模式。工作組是一組計算機的集合名詞。在工作組中每一臺計算機都各自負責自己的共享資源以及相關的安全性。可見工作組的網絡環境中其管理是比較分散的,存在著比較大的安全風險。而域的管理方式則正好跟工作組相反。域也是一組計算機的結合,但他與工作組具有很大的不同,即域是以集中式的管理模式來控制共享資源的訪問。簡單的來說,工作組是每臺計算機負責各自的共享資源;而域則相反,網絡上的全部共享資源都是通過一些特定的計算機來進行訪問控制的,如通過域控制器來實現對共享資源的訪問控制。為此如果Linux操作系統要能夠跟Windows操作系統兼容的話,那么其就必須能夠成為Windows域中的一員。SAMBA正好可以解決這個問題。只要給Linux操作系統部署了SAMBA服務,其就可以加入到Windows的域中。甚至通過一定的配置之后,這臺Linux主機還可以成為Windows域中的域控制器,接受來自Windows客戶端的登陸請求。
這個兼容性對于企業具有很大的應用價值。如企業可以不用再購買Windows操作系統的服務器版本。因為此時只要采用免費的Linux系統并部署上SAMBA服務,就可以作為域控制器來使用,管理Windows客戶端的登陸以及共享資源的管理。為此這可以大大的降低企業的網絡部署成本;同時還可以提高域控制器的穩定性。
2、 協議上的兼容性。
Windows操作系統在協議上的兼容性做的不錯。其不僅可以支持常規的TCP/IP通信協議,而且還可以支持NETBEUI等協議。為此如果SAMBA想提高與Windows操作系統之間的兼容性,則也必須實現對多協議的支持。否則的話,在網絡環境集成的時候仍然會遇到一些問題。如Windows域控制器可以支持多種協議的連接請求,而SAMBA服務器不能夠支持的話,則其擔任域控制器仍然是不能夠勝任的。SAMBA的設計者也考慮到了這一點。
SAMBA是基于SMB服務所開發的。SMB是一種在不同操作系統之間提供打印機服務、文件共享、認證授權、域名解析等網絡服務的通信協議。在Linux操作系統上部署了SAMBA服務器軟件之后,他可以使得Linux操作系統了解SMB通信協議,從而提供上述的網絡服務。通常情況下,SMB服務本身就支持多種網絡通信協議,以支持各種類型的客戶端以及為客戶端提供最大的服務。為此基于SMB服務實現的SAMBA服務器軟件也支持多種網絡通信協議。據我所知,現在SAMBA服務器軟件已經可以支持TCP/IP、NetBeui、IPX/SPX等網絡通信協議。可以毫不夸張的說,現在Windows客戶端可以支持的協議,SAMBA服務器軟件基本上也都可以支持。正是如此,更加提高了Linux操作系統與Windows操作系統之間的兼容性。這為Windows客戶端與Linux服務器之間和平共存打下了堅實的基礎。
#p#
二、SAMBA軟件包的介紹。
SAMBA服務器之所有可以提供如此高的兼容性與豐富多彩的功能,主要是因為他包含了許多軟件包。其實Linux系統的設計者向來都強調小即是美的設計理念。為此在設計SAMBA服務器軟件的時候,也遵循了這個設計理念。為SAMBA服務器軟件設計了各自相對對立的軟件包。后續功能的配置,也是通過對過各個軟件包進行配置而實現的。為此想要SAMBA服務器軟件真正的稱為Windows操作系統與Linux操作系統之間的紅娘,則系統管理員必須要了解這些軟件包以及其相關的作用。只有如此在具體功能實現的時候,才能夠判斷到底需要安裝哪個軟件包來實現。在后續故障維護的時候,了解這些軟件包的功能也能夠為系統管理員解決錯誤提供一些參考。具體來說,SAMBA服務器軟件提供了如下幾個實用的軟件包。
一是SMBD軟件包。如果要成為域控制器的話,則必須承擔起客戶端的連接請求、身份驗證、授權等任務。這些任務主要是這個SMBD軟件包來完成的。它是SAMBA服務器軟件中的核心,是其主要程序。它主要用來處理來自客戶端(不僅僅是Windows客戶端,也包括Linux客戶端)的連接、處理文件、認證授權等相關的工作。也就是說,其主要就是負責客戶端的連接申請、用戶名認證授權等基礎性的工作。在部署SAMBA服務器的時候,這個是必須安裝的軟件包。
二是測試軟件包。在Windows網絡環境中,如果部署了一臺網絡打印機可以通過相關的測試功能來測試其配置的準確性。如果在Linux服務器上部署了SAMBA應用并部署了一臺網絡打印機或者共享打印機的話,也可以通過測試來判斷其配置的準確性。為此SAMBA服務器軟件專門提供了一些測試的軟件包來實現這些功能。如testprms可以用來測試服務器訪問打印機的程序是否安裝正常;如testparm則可以用來測試SAMBA配置的準確性等等。如果系統管理員對自己有信心,則這些軟件包可以不裝。從這里我們可以再次看出Linux操作系統小即是美的設計魅力。
三是nmbd。這是一個域名解析的軟件包。對于用戶來說,他們希望能夠通過主機名字而不是IP地址來訪問服務器。此時這個域名服務器的軟件包就非常有用。Nmbd軟件包就是一個小型的域名服務器,可以用來幫助用戶找到服務器的位置,方便他們訪問共享資源等等。不過在最新的版本中,nmbd已經不再作為一個獨立的軟件包,而是內置在SAMBA服務器軟件中。即在安裝的時候默認會安裝。畢竟這是SAMBA服務器軟件的有機組成部分。
對于這些軟件包的安裝配置我將在后續的文章中結合具體的案例進行介紹。并會總結一些我在具體配置過程中的經驗。若大家有這方面的需要,可以關注我后續的文章。相信能夠給大家帶來比較大的收獲。
【編輯推薦】