利用Samba服務實現(xiàn)混合局域網數據共享論文
【摘 要】在Windows和Linux的混合局域網環(huán)境中,利用Samba服務方便的實現(xiàn)局域網內的數據共享,從而降低整體系統(tǒng)的構建成本。
關鍵詞Samba;數據共享
0 引言
Microsoft Windows以其友好的用戶界面在桌面環(huán)境中獲得了廣泛的應用,而Linux以其開放、自由和強大的穩(wěn)定性和安全性在服務器領域占據著主導。在企業(yè)、機關、學校等單位的辦公局域網環(huán)境中,如果能將Windows和Linux結合起來構建混合局域網,則可以兼顧前者方便易用和后者穩(wěn)定安全的優(yōu)點,并可以避免購買昂貴的Windows Server授權,顯著降低辦公成本。
在這樣的混合局域網環(huán)境中,大部分的工作站使用Windows操作系統(tǒng),少量的機器安裝Linux以提供各種局域網內的公共服務。各個Windows工作站是無法使用Linux的NFS Server服務的,這些Windows工作站彼此之間使用Microsoft和IBM合作開發(fā)的SMB(Server Message Block)協(xié)議來進行文件或打印機等設備之間的共享,而Samba就是Linux專為SMB而設計的服務器系統(tǒng),這樣Windows工作站與Linux服務器就可以方便的'溝通起來。
1 Samba簡介
Samba這套系統(tǒng)是一個名叫Andrew Tridgell的博士生通過逆向工程分析SMB通信協(xié)議而開發(fā)出來的。軟件開發(fā)出來以后,Andrew Tridgell為這套系統(tǒng)注冊商標,一開始申請用SMBServer作為商標。但是,因為SMB是沒有意義的文字,所以無法注冊為商標。Andrew Tridgell開始翻開字典,就像給孩子取名字一樣苦苦查找,突然發(fā)現(xiàn)Samba剛好含有SMB,又是一個熱情有勁的拉丁舞的的名稱,所以就用Samba這個名字作為了商標。[1]
自從有了Samba,微軟對此極為抵觸,因為Samba使得Linux的工作站可以無縫的融入到Windows工作組中,影響到了Windows的銷售。所以微軟一直通過各自方式試圖阻撓Samba。直到2007年,微軟在歐盟的反壟斷案中敗訴,然后被強制要求向Samba公開他們的網絡控制協(xié)議,這件事情之后,微軟才開始慢慢學習和Samba接觸。在2011年微軟甚至還向Samba社區(qū)提交了一段補丁代碼。Samba 團隊的 Chris Hertel 在文章中寫道:“在過去的年月里,收到來自微軟的補丁代碼是一件無法想象的事情,但是時代已經變了,戰(zhàn)爭也該結束。對于軟件專利我仍然持否定態(tài)度,因為它阻止了軟件的創(chuàng)新。但是現(xiàn)在,在為建立一個更強大的社區(qū)和提高SMB的互操作性的戰(zhàn)斗前線上,微軟和我們并肩作戰(zhàn)!盵2]
2 Samba的安裝
此處以RHEL6(Redhat Enterprise Linux 6)為例,介紹Samba的安裝過程。
假如還不知道系統(tǒng)內是否已經安裝了Samba,可以通過如下命令獲知:
# smbd -V
Version 3.6.9-164.el6
如果像上面那樣可以順利的看到版本信息,則表示Samba已經安裝好了。否則還需安裝Samba相關套件。
在RHEL6中,Samba服務的包組是CIFS file server。CIFS即網絡文件共享系統(tǒng)(Common Internet File System),就是通過SMB協(xié)議而構成的網絡文件系統(tǒng)?梢酝ㄐ幸韵旅顏戆惭b這個包組:
# yum groupinstall "CIFS file server"
Samba服務主要是由兩個服務程序構成:(1)smbd——該守護進程負責驗證用戶身份,提供文件與打印機的共享服務;(2)nmbd—— 該守護進程提供WINS(Windows Internet Name Service)服務,也就是查詢Windows主機名稱所對應的IP地址服務3,這相當于SMB局域網上的DNS服務。
3 Samba的配置及運行
在RHEL6下安裝好Samba后,主配置文件位置在/etc/samba/smb.conf。整個smb.conf是由多個區(qū)段(section)構成的。Samba保留了一些關鍵字作為特殊區(qū)段的名稱。其中global關鍵字定義整體服務器參數;homes關鍵字定義當SMB客戶端連接此主機時,Samba以用戶的帳號名稱建立一個共享資源,用戶可以訪問他在Samba主機上的個人目錄;printer關鍵字則定義共享打印機的設置。此處給出一個配置Samba服務器的實例。先看global區(qū)段定義。
[global]
workgroup = MSHOME
server string = Samba Server Version %v
netbios name = RH6_Samba_111
;interfaces= lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.1.
workgroup = MSHOME,將NT域名或者工作組名稱設置為MSHOME。在CIFS中,根據主機不同的功能將它們劃分到不同的域或者工作組中以方便管理。域與工作組在規(guī)模和管理方式上都有所不同:工作組一般不超過20臺主機,而域可以管理上千臺主機;域需要配置單獨的域控制器(Domain Controller),而工作組不需要;域的管理是在Domain Controller上集中管理的,而工作組是在每臺主機上單獨配置的。
server string = Samba Server Version %v,是一段顯示給訪問者的描述信息。此處使用了默認設置。endprint
netbios name = RH6_Samba_111,NetBIOS主機名稱。這一行把該主機在CIFS中的主機名稱設置為”RH6_Samba_111“,如果注釋掉該行,會使用hostname作為NetBIOS主機名稱。
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24,該行指定Samba服務監(jiān)聽在哪些網卡上,注釋掉該行表示監(jiān)聽所有網卡(分號表示注釋,以下同)。
hosts allow = 127. 192.168.1.,該行定義哪些網段的主機可以訪問本Samba服務。此例定義了127網段和192.168.1網段可以訪問。
再看homes區(qū)段的例子:
[homes]
comment = Home Directories
browseable = no
writable = yes
。籿alid users = %S
。籿alid users = MYDOMAIN\%S
當SMB客戶端連接到此主機時,Samba會自動以用戶帳號名建立一個家目錄(Home Directory)。writable = yes表示用戶可以在家目錄中寫入文件。browseable = no表示除了用戶自己可以瀏覽本家目錄的資源外,其他用戶是不可以瀏覽的。
最后看public區(qū)段的例子:
[public]
;comment = Public Stuff
path = /data
public = yes
。粀ritable = yes
printable = no
;write list = +staff
這里定義了本Samba服務所共享的資源。[public]為該共享資源訪問點的名稱;path = /data定義了共享資源的位置;public = yes規(guī)定了該目錄為公開共享,即無需密碼即可訪問;printable = no定義了該資源不是一個打印機而是磁盤;; writable = yes注釋掉該行表示該目錄為只讀;; write list = +staff,這里可以設定一個組,該組用戶可以寫入該共享目錄。
這里把/data目錄作為共享資源,所以我們必須事先建立好這個目錄,并設置好目錄的權限:
# mkdir -m 755 /data
然后即可通過service smb restart命令開啟Samba服務,Windows工作站即可以通過網上鄰居訪問到Samba的共享資源。
4 結束語
利用Samba服務將Linux系統(tǒng)無縫的融入到Windows辦公局域網中,為整個局域網提供數據共享,提高了服務的穩(wěn)定性并降低了整體辦公成本。
【參考文獻】
[1]鳥哥.鳥哥的Linux私房菜服務器架設篇[M].第三版.北京:機械工業(yè)出版社,2012:461-462.endprint
【利用Samba服務實現(xiàn)混合局域網數據共享論文】相關文章:
Linux通過Samba服務器實現(xiàn)Windows文件共享 -電腦資料01-01
利用ColdFire uClinux實現(xiàn)數據采集和傳輸01-20
如何查看局域網內哪些機器提供samba/共享服務網絡服務器 -電腦資料01-01
samba服務器的文件共享配置Unix系統(tǒng) -電腦資料01-01
基于數據中心下共享服務體系的論文06-28
局域網中實現(xiàn)linux與Windows文件共享 -電腦資料01-01