LINUX學(xué)習(xí)筆記—SAMBA使用篇 |
|
2001-04-06· ·illiad··yesky
|
1 前言:半個(gè)月前開始安裝、學(xué)習(xí)REDHAT LINUX7.0。作為一個(gè)Linux新手,不可避免的遇上了一些問題,通過翻閱書籍資料,查看BBS,自己的摸索實(shí)踐,也解決了一些問題。想到自己的經(jīng)驗(yàn)教訓(xùn)可供他人借鑒,于是大膽寫出來,一來可以當(dāng)作學(xué)習(xí)筆記保存,二來希望對(duì)剛剛接觸Linux的朋友有所幫助。由于本人能力所限,筆記中有所疏漏不足也在所難免,還請(qǐng)各位高手指正。
一、SAMBA簡(jiǎn)介
NetBIOS 是一個(gè)為了便于開發(fā)基于局域網(wǎng)的資源共享應(yīng)用程序而設(shè)計(jì)的API。之后,產(chǎn)生了基于NetBIOS的NetBEUI協(xié)議和NBT(NetBIOS OVER TCP/IP)協(xié)議。NBT協(xié)議進(jìn)一步發(fā)展為SMB和CIFS協(xié)議。Windows的局域網(wǎng)默認(rèn)采用的就是NetBEUI協(xié)議,而SAMBA軟件包所使用的就是CIFS協(xié)議,結(jié)果就是,裝有SAMBA軟件包的機(jī)器能夠和Windows網(wǎng)絡(luò)的機(jī)器進(jìn)行通信,讓沒有NetBEUI協(xié)議的UNIX、LINUX機(jī)器在SAMBA的幫助下和Windows網(wǎng)絡(luò)共享資源。
二、SAMBA的安裝
RedHat Linux7.0的默認(rèn)安裝模式下已經(jīng)安裝好了SAMBA。可以用“rpm -q samba”命令查看系統(tǒng)是否安裝了SAMBA以及安裝版本。沒有的話,你可以從安裝光盤中找到SAMBA的rpm文件手動(dòng)安裝。
三、SAMBA的啟動(dòng)
使用“ps -aux|grep smb”查看SAMBA服務(wù)是否已經(jīng)運(yùn)行,默認(rèn)是否。使用命令“/etc/init.d/smb start”啟動(dòng)它;或是通過“linuxconf”把SAMBA設(shè)定為系統(tǒng)啟動(dòng)時(shí)啟動(dòng)。具體步驟,運(yùn)行“linuxconf”,點(diǎn)擊“control service activity”,顯示的畫面如圖,點(diǎn)擊“sevice control”列表的“smb”,設(shè)置啟動(dòng)為“automatic”,“run level”為“5”。
 |
四、訪問Windows客戶機(jī)
smb啟動(dòng)后,不用作任何設(shè)置你已經(jīng)可以訪問運(yùn)行Windows的機(jī)器了。現(xiàn)在有兩臺(tái)機(jī)器,分別運(yùn)行著Linux和Windows98,主機(jī)名稱分別是redhat和lily。lily上有目錄“download”,有打印機(jī)“HP”,目錄設(shè)置為“完全訪問”,密碼是“abc”。
1、訪問lily上的共享目錄。
第一步,查看lily這臺(tái)機(jī)器的的共享資源,“smbclient -L //lily”,當(dāng)提示時(shí),輸入密碼后會(huì)列出lily上可用的資源。
第二步,“mkdir /mnt/download”,在“/mnt”下建立一個(gè)目錄。
第三步,“mount -t smbfs -o username=abc,password=abc //lily/download /mnt/download”,把lily上的共享目錄掛接到redhat的“/mnt/download”下面。接下來,你可以象使用本地硬盤那樣訪問該共享目錄了。你也可以編輯“/etc/rc.d/rc.local”,把“mount -t smbfs -o username=abc,password=abc //lily/download /mnt/download”添加到文件的末一行,這樣,系統(tǒng)一啟動(dòng),該共享目錄也就掛接好了。
2、使用lily上的打印機(jī)。
單擊任務(wù)欄上的Gnome圖標(biāo),單擊“system”,單擊“control panel”。在“control panel”窗口中,單擊打印機(jī)圖標(biāo),選擇“SMB/Window 95/98/NT Printer”,如圖。
然后出現(xiàn)設(shè)置窗口,如圖。

其中“Hostname of Printer Server”應(yīng)該填上主機(jī)名,這里是“lily”;“Printer name”就是“smbclient -L //lily”顯示出來的打印機(jī)名稱,這里是“HP”;“input filter”是讓你選擇打印機(jī)型號(hào)的,如圖
可以用類似的型號(hào)代替,比如“lily”上的打印機(jī)是HP deskjet1120c,這里就選擇550c/560c/6xxc。這三項(xiàng)是一定要設(shè)置的。然后可以測(cè)試一下打印機(jī)了。
五、讓W(xué)indows的機(jī)器訪問Linux
兩種方式:
1、手工編輯“/etc/smb.conf”文件;
2、使用圖形介面設(shè)置smb.conf。這里介紹后者。
編輯“/etc/xinetd.d/swat”,改“disable=yes”為“disable=no”,“only_from=localhost”為“only_from=10.0.0.39”。說明:該IP地址是我機(jī)器的網(wǎng)卡地址,如果不改,用“l(fā)ocalhost:901”不能登錄進(jìn)SWAT管理介面。會(huì)提示你:“A network ettor occured while Netsape was receiving data.
(Network Error:Broken Pipe)Try Connecting again.”
在瀏覽器中輸入“10.0.0.39:901”,進(jìn)入SWAT,如圖
第一步,設(shè)置“global”,其中只要更改“security”類型為“share”,“workgroup”是出現(xiàn)在網(wǎng)絡(luò)鄰居里的組名,“netbios name”是該組中本機(jī)的名稱,不設(shè)置則用主機(jī)名。如圖。
第二步,設(shè)置“shares”,如圖
先建立一個(gè)新的共享名稱,接著“choose share”旁邊的按鈕,選擇這個(gè)共享名稱。設(shè)定“path”為“/home/download”,“guest ok”為“yes”,“writable”為“yes”,最后不要忘了單擊“commit changes”接受新的設(shè)置內(nèi)容,如圖。
在lily上打開網(wǎng)絡(luò)鄰居可以看到有一個(gè)“mygroup”的組,里面有一臺(tái)“redhat”的電腦,共享目錄是“download”。
至此,一個(gè)簡(jiǎn)單的雙向共享建立起來了。當(dāng)然,SAMBA的功能遠(yuǎn)不至此,更復(fù)雜的功能,有興趣的朋友可以參看各種資料。
參考以下:
http://www.5ilinux.com/blog/archives/000007.html隨著Linux的普及和大眾化,Linux下的文件共享成為用戶關(guān)心的首要問題。其實(shí)幾乎所有的Linux發(fā)行套件都提供了一個(gè)很好的工具Samba,可以輕松實(shí)現(xiàn)文件共享。
Samba是基于SMB協(xié)議的一個(gè)應(yīng)用程序,目前的版本是2.3.x。Samba的功能很強(qiáng)大,但易用性也極差。究其原因是它的配置文件太大和不容易理解,新手和熟手都對(duì)其望而卻步。其實(shí)僅僅實(shí)現(xiàn)文件共享這一單純目的,配置Samba很簡(jiǎn)單,只需熟悉幾個(gè)操作即可。下面我用一個(gè)例子說明這幾個(gè)操作。
假設(shè)你已熟悉Linux的基本操作,例如VI編輯器的使用、基本的操作文件命令。
現(xiàn)在我們有三臺(tái)PC,一臺(tái)安裝了window2000,名字是test2000,其上有共享文件夾share;其余兩臺(tái)安裝了Linux,一臺(tái)名字是testsamba,其上有一目錄/pub;另一臺(tái)名字是testlinux,其上也有一目錄/pub。我們要實(shí)現(xiàn)的目標(biāo)是把testsamba上的/pub共享,供test2000和test_linux的使用。
對(duì)test_samba我們進(jìn)行下面操作:
在/etc/下找到smb.conf,用VI編輯器打開,
# vi /etc/smb.conf或vi /etc/samba/smb.conf
在【gobal】字段下,添加netbios記錄,一般加在workgroup記錄的下一行;
netbios name = testsamba
在【gobal】字段下,修改secrity記錄;
secrity = share
在【public】字段下,修改path記錄;
path = /pub
在【public】字段下,添加geuest ok記錄;
guest ok = yes
刪除【public】字段每行行首的“;”標(biāo)示;
保存退出。
簡(jiǎn)單解釋一下,添加的netbios name是可以在test2000網(wǎng)絡(luò)鄰居中看得見的機(jī)器名;添加的/pub是可以在網(wǎng)絡(luò)鄰居中看見的共享目錄;添加guest ok是允許所有用戶都可以guest帳戶訪問共享;刪除“;”標(biāo)示是要整個(gè)【public】字段成為可執(zhí)行。
現(xiàn)在/pub就成為可以被test2000和testlinux兩臺(tái)機(jī)器共享的目錄了。
試試看:
在testsamba下,為使用test2000下的共享文件夾可以進(jìn)行以下操作:
# smbclient –L //test2000
此命令為查看test2000下的共享情況,注意在系統(tǒng)要求輸入password時(shí),直接回車即可進(jìn)入test2000,此時(shí)屏幕上列出test2000下的共享。
此命令可進(jìn)入test2000的share目錄,屏幕上出現(xiàn)MS-DOS的提示符:\時(shí)說明用戶進(jìn)入了share目錄。此時(shí)可以在提示符后輸入“?”查找你可使用的命令。
在test2000下,使用testsamba的共享目錄/pub,可以進(jìn)行以下操作:
查找計(jì)算機(jī)testsamba,當(dāng)testsamba目標(biāo)出現(xiàn)時(shí),雙擊圖標(biāo)pub,即進(jìn)入共享文件夾pub了。
在testlinux下,使用testsamba的共享目錄pub,可進(jìn)行如下操作:(假設(shè)已知pub存在)
#smbmount //testsamba/pub pub
此命令可把testsamba下的pub掛到本機(jī)的pub上,同上在系統(tǒng)要求輸入password時(shí),直接回車,接著依次輸入#cd /pub/pub、#ls,屏幕即列出testsamba的pub目錄下的文件了。
Win2000和Linux實(shí)現(xiàn)文件共享了,簡(jiǎn)單吧!
Linux 系統(tǒng)中的Samba配置 薛龍琴、王祖漢 |
01-8-8 下午 01:09:04
|
為了實(shí)現(xiàn)windows 和 Linux以及其他操作系統(tǒng)之間的資源共享,軟件商推出nfs 和samba兩種解決方式。由于市場(chǎng)上缺乏象pc-nfs那樣的客戶端工具,使得Linux和windows的資源共享變得復(fù)雜。Samba的出現(xiàn)解決了這一問題,它以其簡(jiǎn)潔、實(shí)用、靈活配置的特點(diǎn)受到越來越多人們的廣泛關(guān)注。 |
Windows利用SMB協(xié)議來實(shí)現(xiàn)操作系統(tǒng)間文件和打印機(jī)共享,而Samba本身具備SMB協(xié)議,它實(shí)現(xiàn)局域網(wǎng)內(nèi)和Windows系列計(jì)算機(jī)的資源共享。 |
本文就Samba在Linux系統(tǒng)下的配置為重點(diǎn),討論局域網(wǎng)內(nèi)windows 與 Linux 的資源共享。 |
SMB (Server Message Block,服務(wù)信息塊) 協(xié)議,是局域網(wǎng)上的共享文件/打印機(jī)的一種協(xié)議,它可以為網(wǎng)絡(luò)內(nèi)部的其他windows和linux 機(jī)器提供文件系統(tǒng)、打印服務(wù)。SMB的工作原理是讓NetBIOS和SMB運(yùn)行在TCP/IP之上,且使用NetBIOS的nameserver讓linux機(jī)器可以在windows 網(wǎng)絡(luò)鄰居里被瀏覽。 |
Samba是用來實(shí)現(xiàn)SMB的一種軟件,由澳大利亞的Andew Tridgell開發(fā),是一種在Linux 環(huán)境里運(yùn)行的自由軟件。它可以完成如下功能: |
文件服務(wù)和打印服務(wù),實(shí)現(xiàn)Windows和Linux的資源共享。 |
登錄服務(wù)器,可以作為局域網(wǎng)的服務(wù)器。 |
Samba 有兩個(gè)守護(hù)進(jìn)程:smbd 和nmbd,它們是Samba的核心進(jìn)程。nmbd進(jìn)程使其他計(jì)算機(jī)瀏覽Linux服務(wù)器,Smbd進(jìn)程在SMB服務(wù)請(qǐng)求到達(dá)時(shí)對(duì)它們進(jìn)行處理,并且為使用或共享的資源進(jìn)行協(xié)調(diào)。 |
Samba 有兩種啟動(dòng)方式:Daemon形式和Inetd形式。 |
(1)Daemon形式 建立啟動(dòng)腳本:rc.samba |
-D 表示以Daemon形式執(zhí)行;-d1 表示除錯(cuò)記錄級(jí)別 |
設(shè)置文件:/etc/inetd.conf |
netbios -ssn stream tcp nowait root /usr/sbin/smbd smbd |
netbios -ns dgram udp wait root /usr/sbin/nmbd nmbd |
Smbclient命令用來存取遠(yuǎn)程Samba服務(wù)器上的資源。其命令形式與ftp相似。 |
命令語(yǔ)法是:#smbclient [password] [option] |
(1) 解釋:servicename是要連接的資源名稱,資源名稱的形式如下: |
//server/service server 是遠(yuǎn)程服務(wù)器的NetBIOS名字,對(duì)于windows服務(wù)器而言,就是出現(xiàn)在網(wǎng)上鄰居中的名字。 |
Service是各server所提供的資源的名字。 |
option 各種命令選項(xiàng),其中 -L 用于列出遠(yuǎn)程服務(wù)器提供的所有資源 |
-I 指定遠(yuǎn)程服務(wù)器的IP地址。此時(shí),servicesname 中的NetBIOS名部分將被忽略。 |
執(zhí)行smbclient命令成功后,進(jìn)入smbclient環(huán)境,出現(xiàn)提示符: smb:\> |
這里有許多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通過這些命令,我們可以訪問遠(yuǎn)程主機(jī)的共享資源。 |
我們可以利用Samba提供的smbmount命令,裝載其他主機(jī)的共享資源。 |
Smbmount的命令語(yǔ)法:# smbmount |
其中 servicename 是資源名,mount-point是安裝點(diǎn)。 |
例如: # smbmount "\\server\tmp" -c ' mount /mnt' |
表示:把名字為“server”的計(jì)算機(jī)上的共享資源“tmp”的內(nèi)容裝載到本地的 /mnt |
卸載一個(gè)已經(jīng)裝載的SMB文件系統(tǒng),使用smbunmount命令,同時(shí)指定要卸載的裝載點(diǎn)。 例如: # smbunmount / mnt |
Samba組件的配置文件是 /etc/smb.conf ,該文件幾乎包含了Samba系統(tǒng)程序運(yùn)行時(shí)所需的所有配置信息。 |
配置文件中有比較重要的幾個(gè)節(jié):[gloabal]、[homes]、[printers],下面分別給與說明。 |
(1)[gloabal]節(jié) 在全局參數(shù)中,參數(shù)的設(shè)置直接影響samba系統(tǒng)。 |
NetBIOS name:設(shè)置主機(jī)名稱 |
Workgroup:用來指定主機(jī)所在網(wǎng)絡(luò)上所屬的NT域名或者工作組名稱。格式是 |
Workgroup= Nt Domain-Name or workgroup-name |
Server string:用來設(shè)置本機(jī)描述,缺省是 Samba Server |
Host Allow:它允許設(shè)置哪些領(lǐng)域的機(jī)器可以訪問它的Samba服務(wù)器 |
Load printers:允許自動(dòng)加載打印機(jī)列表,而不需要單獨(dú)設(shè)置每一臺(tái)打印機(jī)。 |
Interface:配置Samba使用多個(gè)網(wǎng)絡(luò)界面。 |
Domain controller: 僅當(dāng)網(wǎng)絡(luò)中有一臺(tái)在安裝時(shí)設(shè)置為主域控制器時(shí)使用此選項(xiàng)。 |
Security: 設(shè)置安全參數(shù),定義安全模式。Samba 的安全模式有四種 |
Share、 user、 server 、domain |
encrypt passwords 、smb passwd file:用于適用加密口令。 |
smb passwd file = /etc/smbpasswd |
remote announce = 172.18.158.234 172.18.153.55 172.18.153.255 |
server string = Ftp Server |
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 |
log file = /var/log/samba/log.%m |
remote browse sync = 172.18.158.234 172.18.153.55 172.18.153.255 |
printcap name = /etc/printcap |
hosts allow = 172.18.158. 172.18.153. 127. |
(2)[homes]節(jié) 所有使用者的home目錄 |
當(dāng)任何一個(gè)客戶訪問Samba服務(wù)器時(shí),在網(wǎng)絡(luò)資源中都能出現(xiàn)自己的home目錄共享。其配置如下: |
comment = Hnnw Directories |
用來指定某一特定用戶組或者用戶擁有訪問權(quán)限的目錄配置,下列參數(shù)配置僅有hnnw組的用戶有權(quán)訪問目錄/home/samba。 |
全局參數(shù)“username map”用來控制用戶映射,它允許管理員指定一個(gè)映射文件,該文件包含了在客戶機(jī)和服務(wù)器之間進(jìn)行用戶映射的信息。 |
如:username map= /etc/smbuser |
用戶映射經(jīng)常在windows 和linux 主機(jī)間進(jìn)行。 兩個(gè)系統(tǒng)擁有不同的用戶賬號(hào),用戶映射的目的是將不同的用戶映射成為一個(gè)用戶,便于共享文件。 |
# Map Windows admin to root |
;Map the member of developer to studio |
等號(hào)左邊是單獨(dú)的Linux賬號(hào),等號(hào)右邊是要映射的賬號(hào)列表。 |
服務(wù)器逐行分析映射文件,如果提供的賬號(hào)和某行有右側(cè)列表中的賬號(hào)匹配,就把它 |
新版本的windows 95以及windows98、winnt(sp3以上版本),在網(wǎng)絡(luò)傳輸中僅傳遞加密口令作為用戶認(rèn)證的信息。這類客戶機(jī)和不支持加密口令并且以u(píng)ser安全級(jí)運(yùn)行的Samba服務(wù)器通訊時(shí),會(huì)出現(xiàn)故障。為了正常的通訊,samba服務(wù)器使用加密口令。下面討論如何在samba中使用加密口令。 |
為了使用加密口令,samba 需要一份口令文件(/etc/smbpasswd),并且該文件應(yīng)該和Linux的口令文件(/etc/passwd)保持同步。下面是生成文件命令: |
# cat /etc/password | mksmbpasswd > /etc/smbpasswd |
smbpasswd 是需要的口令文件,其權(quán)限是0600,所有者是root |
smbpasswd和passwd文件的記錄對(duì)應(yīng),密碼部分不同。密碼有兩部分組成,每部分 |
是32個(gè)"X",前部分用于和Lanman通訊,后部分和Windows NT通訊。 |
Root用戶可以使用smbpasswd命令為每個(gè)用戶設(shè)定samba口令。 |
要使Samba使用加密口令,需要在配置文件smb.conf中加入如下參數(shù)。 |
Smb passwd file= /etc/smbpasswd |
第一行通知samba使用加密口令,第二行給出口令文件的位置。 |
(3) 重啟動(dòng)samba 服務(wù)。 |
修改完配置文件后,需要重新啟動(dòng)samba服務(wù),可用如下命令: |
# /usr/sbin/samba restart |
4、windows系統(tǒng)中的明碼口令使用 |
Samba系統(tǒng)中使用明碼口令作為連接SMB的默認(rèn)設(shè)置。當(dāng)SMB服務(wù)器對(duì)協(xié)商協(xié)議做出響應(yīng)時(shí),響應(yīng)信息包含了一位,以說明服務(wù)器是否支持詢問或者響應(yīng)加密。隨著win95的網(wǎng)絡(luò)重定向更新程序的發(fā)布,Microsoft修改了默認(rèn)值,這樣,windows客戶就不會(huì)向不支持加密的服務(wù)器發(fā)送明碼口令了。 |
(1)設(shè)置Samba服務(wù)器使用加密口令 |
這里選用第2種解決辦法,通過修改注冊(cè)表來實(shí)現(xiàn)。下面對(duì)win95/win98、winnt用戶分別給與說明。 |
在注冊(cè)表中加入下列注冊(cè)字,并重新啟動(dòng)機(jī)器: |
[HKLM\System\CurrentCntrolSet\Services\VxD\VNETSUP] |
“EnablePlainTextPAssword”= dword:00000001 |
修改注冊(cè)表,加入下列注冊(cè)表項(xiàng),并重新啟動(dòng)機(jī)器: |
[HKLM\System\CurrentCntrolSet\Services\Rdr\Parameters] |
“EnablePlainTextPAssword”= dword:00000001 |
a. 使用TCP/IP協(xié)議作為網(wǎng)絡(luò)默認(rèn)通訊協(xié)議 |
b. 修改網(wǎng)絡(luò)配置,設(shè)置文件和打印機(jī)共享。 |
c. 設(shè)置好計(jì)算機(jī)名和所屬工作組 |
(2)在windows系統(tǒng)中使用Linux共享資源 |
a. 登錄進(jìn)入windows網(wǎng)絡(luò) |
b. 通過網(wǎng)上鄰居查看、使用共享資源。 |
使用命令行下的net.txt工具來查看、使用共享資源: |
net use 命令的語(yǔ)法: c:>net use X:\\servername\sharename |
在這里,X:是共享的驅(qū)動(dòng)器盤符,\\servername\sharename是到共享的UNC的網(wǎng)絡(luò)路徑。 |
例如: c:\>net use h:\\hey\myfile |
表示:將hey機(jī)器上的myfile共享資源映射為本地的h盤 |
通過編輯Samba配置文件,添加需要共享的Linux資源。同時(shí)可以設(shè)定訪問此資源的用戶群及其訪問權(quán)限。下面是一段例子,將本機(jī)的 /public/data 目錄共享,所有人都有讀寫權(quán)限。 |
可以使用smbclient命令,訪問所有的Samba資源。具體使用方法見前述。 |
smbstatus: 列出當(dāng)前所有的samba連接狀態(tài) |
smbpasswd:修改samba用戶口令、增加samba用戶。 |
Nmblookup:用于查詢主機(jī)的NetBIOS名,并將其映射為IP地址 |
Testparam: 用于檢查配置文件中的參數(shù)設(shè)置是否正確 |
posted on 2005-03-17 23:43
小力力力 閱讀(1505)
評(píng)論(0) 編輯 收藏 所屬分類:
LINUX