ftpsuse
什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。
單的說,Linux是Unix克隆(Unix clone)或Unix風格(Unix alike)
的操作系統(OS),在原代碼級上兼容絕大部分Unix標准(指的是IEEE
POSIX,System V,BSD),是一個支持多用戶, 多進程,多線程,實時性
較好的功能
強大而穩定的操作系統.它可以運行在x86 PC,Sun Sparc,Digital Alpha
,680x0,PowerPC, MIPS等平台上,可
以說Linux是目前運行硬體平台最多的操作系統. Linux最大的特點在於
它是GNU(Gnu's Not Unix----有點分形與混沌的意味----無限自包含,
簡單的說GNU是一種自由軟體體系)的一員,遵循公共版權許可證(GPL),秉承
"自由的思想,開放的源碼"的原則,成千上萬的專家/愛好者通過Internet
在不斷地完善並維護它,可以說Linux是計算機愛好者自己的操作系統.
追述Linux的歷史直到1990年,Linus Torvalds還是芬蘭赫爾辛基大
學的一名學生,最初是用匯編語言寫了一個在80386保護模式下處理
多任務切換的程序,後來從Minix(Andy Tanenbaum教授所寫的很小
的Unix操作系統,主要用於操作系統教學)得到靈感,進一步產生了
自認為狂妄的想法----寫一個比Minix更好的Minix,於是開始寫了
一些硬體的設備驅動程序,一個小的文件系統,......,這樣0.0.1
版本的Linux就出來了,但是它只具有操作系統內核的勉強的雛形,
甚至不能運行,你必須在有Minix的機器上編譯以後才能玩.這時候
Linus已經完全著迷而不想停止,決定踢開Minix,於是在1991年10
月5號發布Linux 0.0.2版本,在這個版本中已經可以運行bash
(the GNU Bourne Again Shell----一種用戶與操作系統內核通訊的軟體)
和gcc(GNU C 編譯器).從一開始,Linus就決定自由擴散Linux,包括原代碼,
他在comp.os.minix新聞討論組里發布Linux 0.0.2時寫到:
"Do you pine for nice days of Minix-1.1, when mem were men
and wrote their own device drivers? Are you without a nice
project and just dying to cut your teeth on a OS you can
try to modify for your needs? Are you finding it frustrsting
when everything works on Minix? No more all-nighters to
get a nifty program working? Then this post might be just
for you.
"As I mentioned a month ago, I'm working on a free version
of a Minix-lookalike for AT-386 computers. It has finally
reached the stage where it's even usable(though may not be
depending on what you want),and I am willing to put out
the sources for wider distribution. It is just version
0.0.2 ... but I've successfully run bash,gcc,gnu-make,
gnu-sed,compress,etc.under it."
隨即Linux引起黑客們(hacker)的注意,通過計算機網路加入了Linux的
內核開發,Linux傾向於成為一個黑客的系統----直到今天,在Linux社區
里內核的開發被認為是真正的編程.由於一批高水平黑客的加入,使Linux
發展迅猛,到1993年底94年初,Linux 1.0終於誕生了! Linux 1.0已經是一
個功能完備的操作系統,而且內核寫得緊湊高效,可以充分發揮硬體的性能,
在4M內存的80386機器上也表現得非常好,至今人們還在津津樂道於此,
不過自從2.1.xx系列的內核Linux開始走高端的路子----硬體的發展太快了,
但是Linux不會失去它的本色.Linux具有良好的兼容性和可移植性,大約在
1.3版本之後,開始向其他硬體平台上移植,包括弧稱最快的CPU---Digital
Alpha(至少目前主頻是最高的).所以不要總把Linux與低檔硬體平台聯系
到一塊,Linux發展到今天,這是一個誤區,它只是將硬體的性能充分發揮
出來而已,Linux必將從低端應用橫掃到高端應用!
在Linux的發展歷程上還有一件重要的事:Linux加入GNU並遵循公共
版權許可證(GPL).此舉大大加強了GNU和Linux,幾乎所有應用的GNU
庫/軟體都移植到Linux,完善並提高了Linux的實用性,而GNU有了一
個根基,我現在也搞不清楚到底是GNU Linux呢還是基於Linux的GNU.
:-) 更重要的是遵循公共版權許可證,在繼承自由軟體的精神的前
提下,不再排斥對自由軟體的商業行為(如把自由軟體打包以光碟形
式出售),不排斥商家對自由軟體進一步開發,不排斥在Linux上開發
商業軟體.從此Linux又開始了一次飛躍,出現了很多的Linux發行版
,如Slackware,Redhat,Suse,TurboLinux,OpenLinux等十多種,而且
還在增加,注意你不能說"Redhat Linux""Suse Linux""Slackware
Linux"等等,Linux主要指操作系統內核,對所有發行版內核原代碼
都是一樣的(但集成的內核版本可能因發行時間不同而有所不同).
還有一些公司在Linux上開發商業軟體或把其他Unix平台的軟體移
植到Linux上來,如今很多IT業界的大腕如IBM,Intel,Oracle,Infomix
,Sysbase,Corel,Netscape,CA,Novell等都宣布支持Linux! 商家的
加盟彌補了純自由軟體的不足和發展障礙,Linux迅速普及到廣大計
算機愛好者,並且進入商業應用,正是打破某些公司壟斷文化圈的希
望所在!!
Linux是愛好者們通過Internet協同開發出來的,當然它的網路功能十
分強大,比如你可以通過ftp,nfs等來安裝Linux,用它來做網關等等.
隨著Linux的發展衍生出來的應用恐怕出乎Linus本人最初的預料,
如有人用它來做路由器,有人來做嵌入式系統,有人來做實時性系統.
.....常有新手問Linux能做什麼,其實它不象那些中看不中用的操作
系統,不在於你用它能幹什麼,而在於你想干什麼!
Linux的興起還給人們很多啟迪與思考,如集市式軟體開發的討論,
又如自由軟體的精神......
.
參考資料:http://..com/question/3596242.html
Ⅱ suse linux 10如何安裝ftp
這基礎知識啊 ... 自己可以搜索到
Ⅲ SUSE系統的FTP服務啟動失敗
不確定你用的什麼模式,我在自己的系統上測試了一下。
1.standalone 模式:
1.1yast xinetd 里off vsftpd
1.1.1 /etc/vsftpd.conf 里設置listen_ipv6=YES 注釋掉listen=YES
FTP工作正常
/etc/init.d/vsftpd restart done
1.1.2 /etc/vsftpd.conf 里注釋掉listen_ipv6=YES 設置listen=YES
# /etc/init.d/vsftpd restart done
ftp正常
1.1.3 /etc/vsftpd.conf 里設置isten_ipv6=YES 設置listen=YES
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
ftp 無法連接 原因應為conf里寫的 「 run two copies with two conf files」
1.1.4/etc/vsftpd.conf 里注釋掉isten_ipv6=YES 注釋掉listen=YES
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
ftp 無法連接
1.1.5 根據 以下文檔 不做測試 文檔見
/usr/share/doc/packages/vsftpd/README.SUSE
」Starting with 10.1 vsftpd can be configured standalone
or over the xinetd superdeamon. Default is standalone.
If you want to run it over xinetd make sure the you enable
the service in the xinetd configuration (/etc/xinetd.d/vsftp)
and set the following line in /etc/vsftpd.conf
listen=NO
This is needed for vsftpd to over xinetd.「
2.xinetd 模式
2.1 yast xinetd 里 on vsftpd
/etc/vsftpd,conf 注釋掉listen_ipv6=YES 設置listen=NO
#service xinetd restart
ftp 工作正常
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
2.2 yast xinetd 里 off vsftpd
/etc/vsftpd,conf 注釋掉listen_ipv6=YES 設置listen=NO
#service xinetd restart
ftp無法連接
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
Ⅳ suse 的 b shell 腳本中怎麼寫 ftp 命令
重點是這一句:ftp -v -i -n 218.200.245.84</home/mediation/config.billing>>/home/mediation/log/ftpcdr.log
從這一句看出所有的FTP命令都是從「/home/mediation/config.billing」此文件中讀取的,所以你要的FTP命令都在這個文件中。
Ⅳ suse linux進行埠映射實現內網ftp服務
# ftp
modprobe ip_nat_ftp ###載入ip_nat_ftp模塊(若沒有編譯進內核),以使ftp能被正確NAT
modprobe ip_conntrack_ftp ###載入ip_conntrack_ftp模塊
# 用DNAT作埠映射
iptables -t nat -A PREROUTING -d a.b.c.d -p tcp --dport 21 -j DNAT --to 192.168.0.5
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 21 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5-p tcp --sport 21 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 20 -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 20 -m --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth0 -d 192.168.0.5 -p tcp --dport 1024: -m --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.5 -p tcp --sport 1024: -m --state ESTABLISHED -j ACCEPT
# 用SNAT作源地址轉換(關鍵),以使回應包能正確返回
iptables -t nat -A POSTROUTING -d 192.168.0.5 -p tcp --dport 21 -i eth0 -j SNAT --to 192.168.0.1
最後配置自動啟動文件,這樣開機就自動啟動服務了
Ⅵ suse 定時ftp任務 腳本怎麼寫
重點是這一句:ftp-v-i-n218.200.245.84>/home/mediation/log/ftpcdr.log從這一句看出所有的FTP命令都是從「/home/mediation/config.billing」此文件中讀取的,所以你要的FTP命令都在這個文件中。
Ⅶ suse 11怎麼開啟ftp服務
1.啟動vsftp伺服器
# cd /etc/xinetd.d/
# ls
# chkconfig vsftpd --list
# chkconfig vsftpd on
# chkconfig vsftpd --list
2.重新啟動xinetd
# rcxineted restart
3.默認情況下xineted不自動啟動,手動更改.
# chkconfig xinetd --list
# chkconfig xinetd on
4. 測試ftp伺服器
提示:ftp默認目錄為 /src/ftp
Ⅷ suse linux 如何設置ftp埠號
是配置監聽埠嗎?
監聽埠預設為21,如果不想用這個埠,修改ftp 伺服器配置文件(vsftp)/etc/vsftpd/vsftpd.conf,增加(或修改)這一行:
listen_port=8000
重新啟動ftpd:
sudo service vsftpd restart。
Ⅸ suse linux怎麼安裝ftp
suse自帶的包管理,叫yast,現在可能是yast2了,圖形界面直接打開yast搜索vsftpd安裝就行。命令行的話用yast2 install vsftpd
Ⅹ SUSE10操作系統 使用FTP工具無法連接什麼原因
不確定你用的什麼模式,我在自己的系統上測試了一下。
1.standalone 模式:
1.1yast xinetd 里off vsftpd
1.1.1 /etc/vsftpd.conf 里設置listen_ipv6=YES 注釋掉listen=YES
FTP工作正常
/etc/init.d/vsftpd restart done
1.1.2 /etc/vsftpd.conf 里注釋掉listen_ipv6=YES 設置listen=YES
# /etc/init.d/vsftpd restart done
ftp正常
1.1.3 /etc/vsftpd.conf 里設置isten_ipv6=YES 設置listen=YES
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
ftp 無法連接 原因應為conf里寫的 「 run two copies with two conf files」
1.1.4/etc/vsftpd.conf 里注釋掉isten_ipv6=YES 注釋掉listen=YES
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
ftp 無法連接
1.1.5 根據 以下文檔 不做測試 文檔見
/usr/share/doc/packages/vsftpd/README.SUSE
」Starting with 10.1 vsftpd can be configured standalone
or over the xinetd superdeamon. Default is standalone.
If you want to run it over xinetd make sure the you enable
the service in the xinetd configuration (/etc/xinetd.d/vsftp)
and set the following line in /etc/vsftpd.conf
listen=NO
This is needed for vsftpd to over xinetd.「
2.xinetd 模式
2.1 yast xinetd 里 on vsftpd
/etc/vsftpd,conf 注釋掉listen_ipv6=YES 設置listen=NO
#service xinetd restart
ftp 工作正常
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
2.2 yast xinetd 里 off vsftpd
/etc/vsftpd,conf 注釋掉listen_ipv6=YES 設置listen=NO
#service xinetd restart
ftp無法連接
# /etc/init.d/vsftpd restart
exit status of parent of /usr/sbin/vsftpd: 1 failed
發現是因為yast中xinetd下的ftp被打開,ftp模式卻是standalone模式