国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Samba的Linux與Windows互訪研究

2014-06-01 09:17
中國新技術(shù)新產(chǎn)品 2014年1期
關(guān)鍵詞:配置文件打印機命令

(同濟大學,上海 200092)

基于Samba的Linux與Windows互訪研究

林 野

(同濟大學,上海 200092)

本文介紹了基于Samba的Linux與Windows互訪研究,對Samba的安裝與配置進行了探討,分析了SWAT工具的技術(shù)特點,對啟動與測試Samba進行了說明。

Samba;Linux;Windows;互訪研究

1 概述

隨著因特網(wǎng)的發(fā)展,計算機得到大量的普及,而計算機上所搭載的操作系統(tǒng)也取得了長足的進步。在當今市面上,操作系統(tǒng)以Windows和Linux系列居多。作為商業(yè)上最成功的操作系統(tǒng),Windows系列操作系統(tǒng)因其可靠性、安全性和良好的操作性為廣大用戶所認知并接受。Linux操作系統(tǒng)是成長最快的系統(tǒng),隨著對操作性、易用性的改進,它也逐步得到用戶的青睞,與Windows系統(tǒng)的差距逐漸縮小。相較于封閉的Windows系統(tǒng)而言,Linux系統(tǒng)更加開放,它開放源代碼的理念也更加受到廣大IT工作者的認同。因為開源性能優(yōu)秀且價格低廉,Linux系統(tǒng)在服務器市場取得了很大的市場份額,并被看作是一個理想的服務器操作系統(tǒng)。由于Windows和Linux在性能上各有千秋,雙方市場發(fā)展側(cè)重點也不同,因此在企業(yè)和公司內(nèi)部往往存在大量的Windows與Linux系統(tǒng),而對于Windows與Linux系統(tǒng)的相互訪問和信息交換的需求也越來越多。如何將這兩種異構(gòu)操作系統(tǒng)統(tǒng)一管理并實現(xiàn)信息互訪是一個非常有意義的研究課題。

操作系統(tǒng)間信息互訪技術(shù)一直是研究熱點,Windows系列操作系統(tǒng)利用 CIFS(Common Internet File System)來實現(xiàn),即網(wǎng)上鄰居。網(wǎng)上鄰居將局域網(wǎng)上的其它計算機顯示出來并分享給用戶。Linux系統(tǒng)通過NFS(Network File System)將其它計算機所分享的目錄掛載進來,也可以完成Linux系統(tǒng)之間的相互信息訪問。Windows與Linux系統(tǒng)之間的信息互訪則相對復雜,雖然利用TCP/IP協(xié)議棧中的超文本傳輸協(xié)議HTTP(Hyper Text Transfer Protocol)、文件傳輸協(xié)議FTP (File Transfer Protocol)和 網(wǎng) 絡 電傳 TELNET (Teletype over the Network)等應用層協(xié)議也可以在Linux/Windows系統(tǒng)中構(gòu)建相應的服務器,向Windows 、Linux系統(tǒng)提供基本的資源共享服務,但目前最流行的異構(gòu)操作系統(tǒng)共享技術(shù)是Samba。利用Samba,Linux 用戶就可以進入到 Windows 主機,可以在 Windows主機中創(chuàng)建和使用文件共享;同時,利用 Samba 服務器還可以讓 Windows 用戶像訪問 Windows 主機一樣通過網(wǎng)上鄰居來訪問 Linux 服務器。

2 關(guān)于Samba

Samba是由澳大利亞國立大學計算機科學實驗室 Andrew Tridgell開發(fā),其初衷是實現(xiàn)異構(gòu)操作系統(tǒng)間的文件和打印機共享。隨著時間的發(fā)展,Samba被越來越多的公司和企業(yè)所認同。利用Samba,可以非常便利的將Linux操作系統(tǒng)的文件目錄與打印機等設備共享給Windows系統(tǒng)使用,同時也可以在Linux系統(tǒng)下訪問Windows系統(tǒng),進入Windows系統(tǒng)創(chuàng)建文件,備份Windows系統(tǒng)下的資源,共享Windows系統(tǒng)的打印機。

Samba的 核 心 是 SMB(Server Message Block)協(xié)議。SMB通信協(xié)議是微軟和英特爾公司在1987年制定的協(xié)議,主要是作為微軟Windows系統(tǒng)的通訊協(xié)議,用于Windows系統(tǒng)間共享文件、打印機等。而Samba則是通過逆向工程創(chuàng)建的與SMB兼容的軟件,使得非Windows操作系統(tǒng)也能使用它。SMB是一種客戶端/服務器協(xié)議,以請求/響應方式作答,當客戶端發(fā)出請求后,請求經(jīng)過網(wǎng)絡傳送到服務器端,服務器端對這些消息進行解釋,然后響應客戶端。通過 SMB 協(xié)議,客戶端應用程序可以在各種網(wǎng)絡環(huán)境下讀、寫服務器上的文件,以及對服務器程序提出服務請求。此外通過 SMB 協(xié)議,應用程序可以訪問遠程服務器端的文件、打印機、郵件槽(mailslot)、命名管道(named pipe)等資源。

雖然常被用于局域網(wǎng)環(huán)境,但在Internet環(huán)境下也可以使用Samba。通過NetBIOS over TCP/IP技術(shù),Samba主機可以與全世界的電腦分享資源。

啟動Samba后,兩個重要的后臺守護進程會被開啟:(1)smbd 這個進程主要用來管理Samba主機分享的目錄、檔案和打印機等,并負責建立會話,對到達局域網(wǎng)上的消息塊進行處理。當?shù)竭_的消息塊指定為一個文件,則該共享資源是一個文件;如果是一條打印機發(fā)送消息,則訪問一臺打印機。它主要利用TCP協(xié)議來傳輸數(shù)據(jù),可靠安全,開放的端口為139和445。(2)nmbd 這個進程的主要任務是負責管理工作組,并對Samba服務器的NetBIOS名字進行解析,將共享資源列表提供給Windows的網(wǎng)上鄰居,使Samba服務器的共享資源能夠顯示在Windows的網(wǎng)上鄰居中。它主要利用UDP協(xié)議開啟137、138端口來負責服務器名的解析工作。

Samba服務器應用相當廣泛,可以依照不同的網(wǎng)域聯(lián)機方式和不同的用戶賬號密碼管理方式來進行分類。最常見的局域網(wǎng)聯(lián)機模式有兩種:(1) 對等模式(peer to peer),在對等模式下,局域網(wǎng)中的每部計算機地位相等。它們都可以在自己的計算機上管理賬號與密碼,同時每部計算機都可以獨立運作,只是通過網(wǎng)絡將所有的計算機連接起來而已。這種架構(gòu)在小型的局域網(wǎng)中應用的比較多。它的好處是每部計算機都可以獨立運行,不受其它計算機的影響,但無法應用在大規(guī)模的局域網(wǎng)里,因為在每臺計算機上都要存儲所有的用戶名與密碼。(2) 主控模式(domain model),在該模式下,所有的賬號與密碼都放置在一部主控服務器上面,當用戶想要訪問任何計算機時,均需要在屏幕上面輸入相應的用戶名和密碼,只有通過主控服務器認證后,才能給予權(quán)限訪問該計算機。不同的用戶具有不同的計算機訪問權(quán)限。這種架構(gòu)比較適合大規(guī)模的企業(yè)架構(gòu),當系統(tǒng)管理員要管理員工對計算機的使用權(quán)限時,只需要對主控服務器進行修改即可,不需要對網(wǎng)絡下的每部計算機都進行改動。對于系統(tǒng)管理員來說,使用這種架構(gòu)來管理賬號資源,他的工作量會減小許多,且網(wǎng)絡的可靠性會增加很多。

圖1 登錄窗口

圖2 共享資源

圖3 Linux下登錄Windows

圖4 Windows共享文件目錄

圖5 Windows系統(tǒng)共享目錄詳細信息

3 Samba的安裝與配置

一般來將,Linux的各個發(fā)行版本里都包含Samba軟件包。當然,也可以到www.samba.org網(wǎng)站上下載最新的源代碼并在本地機器上編譯。在Linux上可以使用入如下命令來安裝:sudo apt-get install samba。apt-get命令適用于deb包管理式的操作系統(tǒng),可以自動的從互聯(lián)網(wǎng)的軟件倉庫中搜索、安裝、升級、卸載軟件,非常方便。

Samba安裝好后,會在/etc目錄下生成一個Samba子目錄,而該Samba子目錄下也有一個默認的Smb.conf文件。該文件就是Samba的配置文件,Samba的主要配置信息都放在這個文件里。在該配置文件下,有多個不同的配置字段,例 如 [global]、[homes]、[printers]等。[global]字段主要用于配置Samba服務器的全局參數(shù),包括工作組、字符編碼的顯示、登錄文件的設定、是否使用密碼等。[homes]字段用于配置Samba服務器上用戶自己的共享主目錄,當用戶登錄Samba成功后,Samba服務器就會建立共享資源并將該資源指定到用戶的主目錄上。[printers]字段則主要用于設定共享打印機時的一些參數(shù)。在Smb.conf配置文件中,有一部分配置選項被注釋掉了,不會起到任何作用。另外一些配置選項選取默認值時即可讓Samba正常工作起來。在對Samba進行配置時,最重要的參數(shù)是security。Security可以選擇三種設定值,分別為share、user、domain。它們分別代表:

share: 在這種模式下,共享的數(shù)據(jù)并沒有設置密碼,任何用戶都可以訪問它,雖然便捷但極不安全。

user: 這種模式下,使用Samba服務器本身的密碼數(shù)據(jù)庫。任何用戶訪問Samba的共享目錄時,Samba服務器都會首先去確認該用戶是不是合法用戶,以決定是否允許訪問。

domain: 這種模式下,使用PDC(主域控制器)來完成認證。如果選擇了這個設定值,還需要提供[password server = ip]的設定值。

下面提供一個示例:

[global]

workgroup = WORKGROUP

display charset = UTF-8

unix charset = UTF-8

Security = user

dos charset = cp936

netbios name = sambaok

server string = sambaok test server

hosts allow = 192.168.2.1

log file = /var/log/samba/samba.log

max log size = 50

encrypt passwords = yes

smb password file = /etc/samba/ smbpasswd

load printers = yes

[homes]

comment = Home Directories

browseable = no

writeable = yes

[share]

comment = My Share

path = /home/user/share

public = yes

writable = yes

valid users = aa

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

printable = no

available = yes

browseable = yes

[printers]

comment = All printers

path = /usr/spool/samba

browseable = no

guest ok = no

writable = no

printable = yes

配置信息分為四部分:第一部分是全局參數(shù)區(qū),這里主要設置了Linux、Windows端的顯示字符集,并將Samba服務器的安全模式配置成user模式。第二部分是用戶主共享目錄設置區(qū),這里將其設置成只有登錄用戶才能看到自己主目錄的模式,增強安全性。并賦予了用戶對該共享目錄的寫權(quán)限。第三部分是共享目錄的設置,包括目錄路徑以及寫權(quán)限等。第四部分完成對打印機共享的設置。

可以使用testparam來測試該配置文件。testparam是Samba套件提供的一個命令工具 ,可以自動對配置文件進行測試。如果配置文件有語法錯誤,它就會顯示出來,如果沒有錯誤,就會列出可裝載的服務項。對sam.conf進行任何改動后,最好都使用testparam進行一下測試。

對sam.conf完成配置后,需要為Samba服務器添加用戶。因為在這里將Samba的安全模式設置成user,所以Samba用戶必須首先是Linux系統(tǒng)用戶。在Linux系統(tǒng)下,以root身份登錄,使用命令adduser smb添加系統(tǒng)用戶。然后使用命令smbpasswd –a smb將該用戶添加到Samba服務器中,并設定用戶的密碼。

4 使用SWAT工具

SWAT(Samba Web Administration Tool)是Samba的圖形化管理工具。不妨通過瀏覽器利用swat工具來設置Samba。在swat中每一個Samba參數(shù)都有相應的幫助文件或解釋文件,很容易學習。SWAT工具嵌套在xinetd超級守護進程中,要通過啟用xinetd進程來啟用swat。因此要先安裝xinetd工具包,然后安裝swat工具包。

安裝好swat工具包后,編輯其配置文件:

將“only_from”設置為0.0.0.0而不是127.0.0.1,這樣服務器就可以監(jiān)聽所有的來訪IP。將disable設置成no而不是yes,這樣swat子進程就可以隨xinetd超級守護進程一起啟動。swat默認使用tcp901端口。

通過web來配置Samba,默認使用root賬號進入。swat的執(zhí)行程序默認在/ usr/sbin目錄下。

因為swat是xinetd的子進程,所以只要啟用了xinetd,那么swat也就會伴隨xinetd啟動。使用命令service xinetd restart。

Swat啟動后,就可以通過Web瀏覽器登入swat配置界面。由于swat的默認端口是901,所以通過Web登入swat的地址是http://192.168.0.1:901。其中該IP地址為Linux服務器的IP地址。在用戶登入后,會彈出一個提示框,要求用戶輸入登陸的用戶名和密碼。只有登錄用戶名和密碼正確,才能登入swat配置界面。默認的用戶是root,密碼是登入Linux服務器的密碼,這些都可以在swat的配置文件中定義。

進入swat配置界面后,可以看到有8個配置選項,每個選項可以配置不同的功能。HOME主要是Samba的相關(guān)程序及文件說明,GLOBALS用于設置Samba的全局參數(shù)。SHARES配置Samba服務器的文件共享參數(shù)。PRINTER設置Samba服務器的打印機共享參數(shù)。WIZARD是Samba配置向?qū)?。STATUS用于查看和設置Samba的狀態(tài)信息。VIEW界面可以查看Samba的文本配置文件,即smb.conf。PASSWORD管理Samba用戶的密碼設置,可以修改密碼,新建刪除用戶。

5 啟動與測試Samba

Samba的啟動非常簡單,打開系統(tǒng)的終端窗口,輸入/etc/init.d/smbd restart命令,Samba就會被啟動。同理,輸入/ etc/init.d/smbd stop 命令,Samba就會被停止。Samba啟動后,如果運行正常,Linux與Windows就可以互相訪問了。

5.1 Windows訪問Linux服務器共享資源

在Windows下訪問Linux服務器共享資源需要通過Windows系統(tǒng)的網(wǎng)上鄰居來實現(xiàn)。Windows系列操作系統(tǒng)的網(wǎng)上鄰居的主要功能是通過 SMB 協(xié)議來傳輸文件數(shù)據(jù),并且網(wǎng)上鄰居具有自己的主機名稱解析系統(tǒng)。

首先,進入Windows系統(tǒng),進入“網(wǎng)上鄰居”,找到Linux主機所在的工作組,雙擊進入該工作組,就會看到該Linux主機。

雙擊該主機,就會彈出一個如圖1所示的登錄窗口。在該窗口輸入登錄用戶名與密碼。這里使用的登錄名與密碼是之前在Samba服務器中所添加的。必須與其一致,否則會在登錄時提示登錄用戶名和密碼錯誤。

登錄成功后就能看到該Linux主機上的共享主目錄與其他的共享資源了。如圖2,其中,share為用戶登錄后的主目錄,該目錄只有具有訪問權(quán)限的用戶才看的到。

5.2 Linux訪問Windows服務器共享資源

想要在Linux下訪問Windows服務器上的資源,必須借助幾個Samba套件提供的工具:

(1)nmblookup

Nmblookup通過查詢廣播地址,能夠顯示一臺主機的NetBIOS主機名,通常顯示的結(jié)果是一個IP地址。因為主機存在虛擬IP地址的關(guān)系,有時候也會顯示多個IP地址。在一個局域網(wǎng)中,一臺主機只能擁有一個NetBIOS主機名,這樣,通過nmblookup命令查到IP地址后 ,就可以與其進行連接。Nmblookup命令也可以用來查詢所有在局域網(wǎng)中活動的主機IP。

(2)smbclient

Smbclient主要用來顯示或者訪問共享文件夾。Linux客戶端訪問Windows服務器上的共享文件主要通過兩種方法:1)用mount命令掛載Windows中的共享目錄到本地磁盤,命令如下:mount –t smbfs –o username=user,password=pwd //192.169.1.1/share /localdir ;2) 使 用smbclient命令。Smbclient命令由Samba套件提供,用到的主要參數(shù)包括-L、-o、-U等。命令是smbclient //serverIP/ share –u name password。需要注意的是最好使用對方服務器IP來進行登錄,這樣會更加快速。

在Linux下訪問Windows服務器上的共享資源時,首先使用nmblookup命令查詢Windows主機名所對應的IP地址。查詢到IP地址后使用ping命令探測該Windows主機是否與Linux主機網(wǎng)絡互通。如果連接超時,通常是防火墻的設置問題,建議最好關(guān)閉Linux與Windows端的防火墻。在探測網(wǎng)絡為相通后,就可以開始訪問。本文使用smbclient命令。輸入命令smbclient //192.168.2.103/share–U username后,出現(xiàn)如圖3界面,輸入密碼,就登錄了遠端Windows系統(tǒng)的共享目錄,如圖4。在該目錄,可以使用ls命令來顯示共享目錄的所有文件,也可以使用cd命令跳轉(zhuǎn)到其他的共享目錄,如圖5。

[1] 基于Samba的Windows與Unix互連技術(shù)的研究與實現(xiàn)[J].中國地質(zhì)大學,2009.

TP39 < class="emphasis_bold"> 文獻標識碼:A

A

猜你喜歡
配置文件打印機命令
只聽主人的命令
忘記ESXi主機root密碼怎么辦
移防命令下達后
另類3D打印機
打印機設置
打印機基板大型注塑模具設計
這是人民的命令
FDM型混色3D打印機的設計
復制粘貼打印機
對盧溝橋事變期間一份“作戰(zhàn)命令”的考析