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