一.概述
本文講述了在Linux主機與windows主機之間如何互傳文件的方法。因為有的時候,linux主機中的一些 文件可能會在windows環境下用到。例如在linux主機中抓了一些圖片,想把它們傳到windows主機上以作 為word文檔的插圖。又或者從Windows主機上網,下載了一些linux的軟件包,想傳到linux主機中安裝。 在這些情況下,都需要一種方法來進行兩者之間的互通。
本文采用ftp方式來傳送文件,軟件采用Serv-U。在widows主機下安裝Serv-U,使其成為ftp服務器,在 linux主機下通過ftp命令來上傳和下載文件。經過試驗,可以很好的滿足需求。
二.實驗環境
網絡拓撲如下:
圖1
軟件環境:
A機:
操作系統:windows2000, IP: 10.18.34.115.
B機:
操作系統:Linux Red Hat 9.0, IP:10.18.34.251.
三.在windows下安裝Serv-U
1. Serv-U的安裝
執行setup.exe, 全部選默認選項即可。
2. Serv-U的常規設置
在安裝完成後,會彈出配置向導對話框,這裡按要求填入相應信息,即可配置成功一個ftp服務器。這 裡A機的ip地址是10.18.34.115.按照安裝向導做如下操作:
1) IP address(IP地址):輸入“10.18.34.115”。(如果使用動態的或無合法的IP地址則此項為 空)。
2) Domain name(域名):輸入域名,例如“RoseRed”(此處隨意)。
3) Install as system server(安裝成一個系統服務器嗎):選“Yes”。
4) Allow anonymous access(接受匿名登錄嗎):此處可根據自己需要選擇,比如選“Yes”。
5) anonymous home directory(匿名主目錄):此處可輸入(或選擇)一個供匿名用戶登錄的主目錄 。
6) Lock anonymous users in to their home directory(將用戶鎖定在剛才選定的主目錄中嗎): 即是否將上步的主目錄設為用戶的根目錄;一般選“Yes”。
7) Create named account(建立其他帳號嗎):此處詢問是否建立普通登錄用戶帳號;一般選“Yes ”。
8) Account login name(用戶登錄名):普通用戶帳號名,比如輸入“yint”。
9) Password(密碼):設定用戶密碼。由於此處是用明文(而不是*)顯示所輸入的密碼,因此只輸 一次。
10) Home directory(主目錄):輸入(或選擇)此用戶的主目錄,如“E:\”(本文將對E:\上的文件 進行操作).
11) Lock anonymous users in to their home directory(將用戶鎖定在主目錄中嗎):選“Yes” 。
12) Account admin privilege(帳號管理特權):一般使用它的默認值“No privilege”(普通帳號 )。
13) 最後選“Finish”(結束)即完成設置,如下圖:
圖2
從上圖中可以看到,現在已經建立好了一個FTP服務器,服務器地址為“RoseRed”,其下有兩個用戶 ,一個是匿名用戶“Anonymous”,其密碼為空;一個是普通用戶“yint”,其密碼為在向導中輸入的內 容。
3. Serv-U的權限設置
比如在左邊的面板中選中“yint”用戶,則在右邊的面板中出現如下圖的設置窗口。選“Dir Access ”(目錄存取權限)標簽項,即可設置此用戶在它的主目錄(此處為“E:\”)下是否對文件擁有“Read ”(讀)、Write(寫)、“Append”(寫和添加)、“Delete”(刪除)、“Execute”(執行)權限; 是否對目錄擁有“List”(顯示文件和目錄的列表)、“Create”(建立新目錄)和“Remove”(修改目 錄,包括刪除,移動,更名)權限等等。
可根據需要進行設置,一般將Read, Write 選中。
圖3
四、在linux下使用ftp命令
1. 連接ftp服務器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:ftp 10.18.34.115
b)服務器詢問你用戶名和口令,分別輸入yint和相應密碼,待認證通過即可。
2. 下載文件
下載文件通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取服務器上E:\rose\1.bmp,則
ftp> get /rose/1.bmp 1.bmp (回車)
b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取服務器上E:\rose\下的所有文件,則
ftp> cd /rose
ftp> mget *.* (回車)
注意:文件都下載到了linux主機的當前目錄下。比如,在 /root/yint下運行的ftp命令,則文件都 下載到了/root/yint下。
3.上傳文件
a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機E:\rose,並改名為333.bmp
ftp> put 1.bmp /rose/333.bmp (回車)
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到服務器E:\rose 下
ftp> cd /rose (回車)
ftp> mput *.bmp (回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在 /root/yint下運行的ftp命令,則只有 在/root/yint下的文件linux才會上傳到服務器E:\rose 下。
4. 斷開連接
bye:中斷與服務器的連接。
ftp> bye (回車)
從上圖中可以看到,現在已經建立好了一個FTP服務器,服務器地址為 “RoseRed”,其下有兩個用戶,一個是匿名用戶“Anonymous”,其密碼為空;一個是普通用戶“yint” ,其密碼為在向導中輸入的內容。
3. Serv-U的權限設置
比如在左邊的面板中選中“yint”用戶,則在右邊的面板中出現如下圖的設置窗口。選“Dir Access ”(目錄存取權限)標簽項,即可設置此用戶在它的主目錄(此處為“E:\”)下是否對文件擁有“Read ”(讀)、Write(寫)、“Append”(寫和添加)、“Delete”(刪除)、“Execute”(執行)權限; 是否對目錄擁有“List”(顯示文件和目錄的列表)、“Create”(建立新目錄)和“Remove”(修改目 錄,包括刪除,移動,更名)權限等等。
可根據需要進行設置,一般將Read, Write 選中。
圖3