新聞中心
FTP (File Transfer Protocol)是網絡上最常用的文件傳輸協(xié)議之一,由于其簡單易用、傳輸速度快等特點,被廣泛應用于各權領域中。

創(chuàng)新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站建設、做網站、龍江網絡推廣、微信小程序開發(fā)、龍江網絡營銷、龍江企業(yè)策劃、龍江品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯為所有大學生創(chuàng)業(yè)者提供龍江建站搭建服務,24小時服務熱線:13518219792,官方網址:www.cdcxhl.com
Linux系統(tǒng)作為一款開源的操作系統(tǒng),本身就支持FTP協(xié)議,特別是FTP被動模式,更是在文件傳輸過程中起到重要作用。本文將,為讀者提供參考和幫助。
一、FTP被動模式的概述
FTP協(xié)議本質上是一種客戶端/服務器模型,其中客戶端通過FTP命令向FTP服務器發(fā)出請求,并通過FTP服務器傳輸文件。FTP分為主動模式和被動模式,其中被動模式是目前廣泛應用的一種方式。
在FTP被動模式下,客戶端連接到服務器的21端口,向服務器發(fā)送PASV命令請求被動模式數據連接。服務器隨機分配一個端口,并通過21端口將端口號返回給客戶端??蛻舳私邮盏椒掌鞣祷氐亩丝谔栔?,向服務器分配的端口號建立數據連接,并通過該端口傳輸文件。
二、FTP被動模式的優(yōu)點
FTP被動模式更大的優(yōu)點在于穿透NAT設備,使內網的FTP服務器能夠被公網訪問。具體而言,FTP主動模式需要服務器向客戶端建立數據連接,而NAT設備無法識別這一數據連接。因此,FTP主動模式在NAT環(huán)境下無法正常工作。FTP被動模式通過隨機端口建立被動模式數據連接,可以很好地穿透NAT設備,解決FTP主動模式在NAT環(huán)境下的不足。
三、Linux FTP服務器端被動模式的配置
使用Linux FTP服務器,需要首先安裝FTP軟件。推薦使用vsftpd,它是一個成熟、穩(wěn)定的FTP服務器軟件。安裝方法可以通過軟件包管理器或源代碼編譯方式安裝。
針對FTP服務器使用被動模式,需要在FTP服務器的配置文件中修改PASV模塊的參數。通過修改vsftpd配置文件(/etc/vsftpd.conf),可以在參數中增加以下內容:
pasv_enable=YES
pasv_min_port=2023
pasv_max_port=2100
在以上參數設置中,pasv_enable=YES表示開啟vsftpd服務器的PASV模式;pasv_min_port=2023和pasv_max_port=2100用于指定被動模式數據連接的端口范圍。
通過以上配置后,就可以啟動vsftpd服務器,并使用FTP客戶端連接FTP服務器,實現被動模式下的文件傳輸。
四、Linux FTP客戶端被動模式的配置
同樣,Linux FTP客戶端在使用被動模式傳輸文件時,需要修改FTP客戶端的配置文件。在大多數Linux操作系統(tǒng)中,FTP客戶端直接使用系統(tǒng)自帶的命令行工具,如ftp。因此,在連接FTP服務器時,需要輸入以下命令行:
ftp -p IP地址
其中,-p代表FTP客戶端使用被動模式連接FTP服務器。
如果使用GUI的FTP客戶端,如FileZilla等,可以在連接FTP服務器時選擇使用被動模式進行連接。在FileZilla的連接設置中,可以設置FTP客戶端使用以下端口進行被動模式數據連接:
到此,我們已經深入探究了Linux FTP被動模式的使用方法。FTP被動模式作為FTP協(xié)議中最為廣泛使用的模式之一,對于內網FTP服務器的訪問、穿透NAT設備等場景,都起到了非常重要的作用。相信本文內容能夠給讀者帶來幫助,讓大家更好地了解和掌握Linux FTP被動模式的使用方法。
相關問題拓展閱讀:
- 如何使用ftp連接linux虛擬機
如何使用ftp連接linux虛擬機
下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例):
首先要安裝linux下的vsftp軟件包。
rpm -qa|gerp vsftpd //查找vsftpd有沒有安裝
如果沒有安裝就 vsftpd-2.0.1-5.i386.rpm (在之一張光盤)
在linux中有一個非常重要的一點就是要掛載光驅 mount /media/cdrom
在這里我們就不用源代碼安裝了。用的是rpm安裝
#rpm -ivh vsftpd-2.0.1-5.i386.rpm
這里就安裝好了。
service vsftpd start 啟動vsftpd服務
如果在不設置任何的情況下,可以以匿名的方式訪問該ftp。
注.如果訪問不了的時候請大家要把linux的防火墻也要關閉:
iptables -F 清除防火墻
在安裝好ftp會產生幾個文件:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP服務器
/etc/vsftpd.user_list 文件中指定的用戶是否可以訪問ftp服務器由vsftpd.conf文件中的userlist_deny的取值來決定。
這幾個文件就是整個ftp控制和禁止用戶的權限配置。。。
下面我們就來設置一個vsftpd的核心文件
# cd /etc/vsftpd/vsftpd.conf 這就是vsftpd的核心配置文件
anonymous_enable=YES/no 是否允許匿名用戶登錄
anonymous_enable=yes/no 是否允許匿名上春鏈慎傳文件
local_enable= YES/no 是否允許本地用戶登錄
write_enable= YES/no 是否允許本地用戶上傳
guest_enable=yes/no 是否允許虛擬用戶登錄;
local_mask=022 設置本地用戶的文件生成掩碼為022,默認值為077
dirmessage_enable= YES 設置切換到目錄時顯示.message隱含文件的內容
xferlog_enable= YES 激活上傳和下載日志
connect_from_port_20=YES 啟用FTP數據端口連接
pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱, 該文件存放在/etc/pam.d目錄下
userlist_enable= YES 允許vsftpd.user_list文件中的用戶訪問服務器
userlist_deny= YES 拒絕vsftpd.user_list文件中的用戶訪問服務器
listen= YES/no 是否使用獨占啟動方式(這一項比較重要)
tcp_wrappers= YES/no 是否使用tcp_wrappers作為主機訪問控制方式
最主要的就是這些設置了。(這是一般都是默認的不是太懂的不要動)
大家可以設置下面的設置:
ftpd_banner=welcome to ftp service 設置連接服務器后的歡迎信息
idle_session_timeout=60 限制遠程的客戶機連接后,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)
data_connection_timeout=120 設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間
accept_timeout=60 設置在多長時間后自動建立連接
connect_timeout=60 設置數據連接的更大激活時間,多長時間斷開,為別人所使用;
max_clients=200 指明服務器總的客戶并發(fā)連接數為200
max_per_ip=3 指明每個客戶機的更大連接數為3
local_max_rate=50000(50kbytes/sec)
anon_max_rate=30000 設置本地用戶和匿名用戶的更大傳輸速率限制
pasv_min_port=端口
pasv-max-prot=端口號 定義更大與最小端口,為0表示任意端口;為客戶端連接指明端口;
listen_address=IP地址 設置ftp服務來監(jiān)聽的地址扒敬,客戶端可以用哪個地址來連接;
listen_port=端口號 設置FTP工作的端口號,默認的為21
chroot_local_user=YES 設置所有的本地用戶可以chroot
chroot_local_user=NO 設置指定用戶能喚頃夠chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用戶才能執(zhí)行)
local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;
chroot_local_user=yes/no 是否鎖定本地系統(tǒng)帳號用戶主目錄(所有);鎖定后,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;
chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;
userlist_enable=YES/NO 是否加載用戶列表文件;
userlist_deny=YES 表示上面所加載的用戶是否允許拒絕登錄;
userlist_file=/etc/vsftpd.user_list 列表文件
這些就是高級設置了。大家可以適當的更改。
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務(vsftpd在獨占啟動方式下支持tcp_wrappers主機訪問控制方式)
時間限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置訪問的時間限制(注:與vsftpd.conf中l(wèi)isten=NO相對應)
例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp
配置文件是 /etc/vsftpd/vsftpd.conf 按如下編輯此文件,編輯文件當然用vi了
1)實現匿名用戶的上傳下載文件
程序代碼:
Anonymous_enable=yes 匿名登陸
Connect_form_port_20=yes 啟用FTP數據端口的數據連接
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD服務器
這樣你就可以實現匿名登陸ftp了,但還不能上傳文件
程序代碼:
Anon_upload_enable=yes 開放上傳權限
Anon_mkdir_write_enable=yes 可創(chuàng)建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 開放本地用戶寫的權限
Anon_other_write_enable=yes 匿名帳號可以有刪除的權限
加上上面的這段,你就可以實現匿名ftp的上傳下載文件了
然后你保存文件,用service vsftpd start來啟動vsftp的服務,然后就可以用ftp了
注意:確定你的防火墻 iptables上打開21端口,不然在登陸ftp的時候會提示socket錯誤,拒絕連接。還有就是當你再次編輯vsftp.conf后用 service vsftpd restart重起的時候總是提示你不能關閉vsftp服務,這時候你用service vsftpd status察看一下他的狀態(tài),如果提示你vsftpd被locked 那可能是因為你的vsftpd.conf中配置的有錯誤,你要重新編輯他,直到能正常重起他為止,一次配置不對,多配置幾次就好了
2)實現本地用戶上傳下載
程序代碼:
新建一個用戶
adduser 用戶名 增加一個用戶
passwd 用戶名 增加用戶的密碼
然后看/etc/passwd中最后一行就是你剛才添加的用戶信息
然后編輯/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允許使用本地用戶來登陸ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陸ftp的用戶
限制用戶只能在自己的目錄中
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用戶名
vsftpd.conf的參數
程序代碼:
Anonymous_enable=yes 允許匿名登陸
Dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容
Local_umask=022 FTP上本地的文件權限,默認是077
Connect_form_port_20=yes 啟用FTP數據端口的數據連接
Xferlog_enable=yes 激活上傳和下傳的日志
Xferlog_std_format=yes 使用標準的日志格式
Ftpd_banner=XXXXX 顯示歡迎信息
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD服務器
Anon_upload_enable=yes 匿名用戶上傳權限
Anon_mkdir_write_enable=yes 創(chuàng)建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 本地用戶寫的權限
Anon_other_write_enable=yes 匿名帳號可以有刪除的權限
Anon_world_readable_only=no 匿名用戶瀏覽權限
Ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式
Ascii_download_enable=yes 啟用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file 用戶連接后歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒) 用戶會話空閑后10分鐘
Data_connection_timeout=120(秒) 將數據連接空閑2分鐘斷
Accept_timeout=60(秒) 將客戶端空閑1分鐘后斷
Connect_timeout=60(秒) 中斷1分鐘后又重新連接
Local_max_rate=50000(bite) 本地用戶傳輸率50K
Anon_max_rate=30000(bite) 匿名用戶傳輸率30K
Pasv_min_port=5000 將客戶端的數據連接端口改在
Pasv_max_port=—6000之間
Max_clients=200 FTP的更大連接數
Max_per_ip=4 每IP的更大連接數
Listen_port=5555 從5555端口進行數據連接
Local_enble=yes 本地帳戶能夠登陸
Write_enable=no 本地帳戶登陸后無權刪除和修改文件
Chroot_local_user=yes 本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 將虛擬服務綁定到某端口
Guest_enable=yes 虛擬用戶可以登陸
Guest_username=所設的用戶名 將虛擬用戶映射為本地用戶
Chown_uploads=yes 改變上傳文件的所有者為root
Chown_username=root
Deny_email_enable=yes 是否允許禁止匿名用戶使用某些郵件地址
Banned_email_file=//任意指定的路徑/xx/
Pasv_enable=yes 服務器端用被動模式
User_config_dir=/任意指定的路徑//任意文件目錄指定虛擬用戶存放配置文件的路徑
關于linux ftp 被動模式的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都創(chuàng)新互聯建站主營:成都網站建設、網站維護、網站改版的網站建設公司,提供成都網站制作、成都網站建設、成都網站推廣、成都網站優(yōu)化seo、響應式移動網站開發(fā)制作等網站服務。
文章標題:深入探究LinuxFTP被動模式的使用方法(linuxftp被動模式)
路徑分享:http://www.5511xx.com/article/dpppehi.html


咨詢
建站咨詢
