vsftpd上傳檔案大小為0(主動模式)

2022-03-07 01:42:56 字數 3913 閱讀 1573

1.安裝vsftpd

2.vsftpd把配置檔案vsftpd.conf裡面的anonymous_enable=yes 改為anonymous_enable=no

3.重啟服務 service vsftpd restart

然後呢,就是開始使用ftpclient開始上傳檔案,但是,問題來了,根本上傳不了啊,上傳總是失敗,檔案大小為0.....

ftp.enterlocalpassivemode();
意思是開啟被動模式,別說,還真的可以了,但是這只是表象,你的配置檔案你真的知道配置了什麼??你到底幹了什麼?----- 還有,你把linux防火牆開啟你看看還ok不??肯定涼涼的!(而且生產環境下防火牆基本上不可能會關閉的)

主動模式(port)(server->client)客戶端開啟埠n(n為》1024的隨機埠)連線伺服器21埠建立命令通道;

客戶端通過n+1埠與伺服器20埠建立資料傳輸通道。

被動模式(pasv)(client->server)

客戶端開啟埠n(n為》1024的隨機埠)連線伺服器21埠建立命令通道(同上);

客戶端通過n+1埠與伺服器》1024隨機埠建立資料傳輸通道,客戶端使用pasv命令。

問題解決步驟:1.開放你的21埠可以直接按照你預設的22埠編寫,把22原封不動弄一行,然後把複製的22換成21即可(技巧:在22那行按esc,然後按yyp即可複製本行)開放完你的21埠後記得重啟:service iptables restart

[root@rebirth vsftpd]# vim /etc/sysconfig/iptables

下面的是我的防火牆配置,不需要跟我的全部一樣,只需要開啟你的21埠即可

# firewall configuration written by system-config-firewall

# manual customization of

this file is

not recommended.

*filter

:input accept [

0:0]

:forward accept [

0:0]

:output accept [

0:0]

-a input -m state --state established,related -j accept

-a input -p icmp -j accept

-a input -i lo -j accept

-a input -m state --state new -m tcp -p tcp --dport 22 -j accept

-a input -m state --state new -m tcp -p tcp --dport 21 -j accept

-a input -m state --state new -m tcp -p tcp --dport 80 -j accept

-a input -m state --state new -m tcp -p tcp --dport 177 -j accept

-a input -m state --state new -m tcp -p tcp --dport 1777 -j accept

-a input -j reject --reject-with icmp-host-prohibited

-a forward -j reject --reject-with icmp-host-prohibited

commit

2.首先我們開啟vsftpd.conf的配置檔案(在你安裝的路徑) vim vsftpd.conf3.在你的vsftpd.conf裡面開啟主動模式的配置:(如果沒有則自己加上去這段命令 一般會有:connect_from_port_20=yes

connect_from_port_20=yes   主動模式

pasv_enable=no  關閉被動模式

4..重啟vsftpd服務  service vsftpd restart

這時候我們在重新執行我們上傳,如果通過ftpclient的話,不要新增開啟被動的那句**:

ftp.enterlocalpassivemode();
如果此時你的檔案直接完整的上傳成了那麼直接恭喜你!你的問題得以解決!下面的內容你可以選擇跳過咯!如果此時你的檔案大小還是為0的話,那麼恭喜你,你跟我一樣,我們繼續搞!原因是:我們本地的防火牆原因,防火牆的入站規則阻礙了我們

解決方案:

1.最簡單,最直接的就是直接把本地的防火牆全部關閉

再來試試吧!ok完美解決!

2.如果你不想全部關閉防火牆(我也一樣)那麼就要稍微配置一些高階的防火牆規則了!跟我來

接下來右鍵入站規則,點選新建入站規則(由於截圖快捷鍵一按按鈕就消失,導圖不全諒解哈!)

直接下一步即可

下一步很重要,你可以直接選擇預設的配置,任何ip都可以

當然,你是一位非常重視安全的決策者,那麼你可以這麼做

你可以選擇指定的ip可以通過此規則,例如本次我們配置的vsftpd的虛擬機器所在的ip!當然你也可以配置虛擬機器所在的網段,由你自行決策!決策者

然後我們只需要確認下一步即可

預設下一步即可

好了,我們的配置結束了,如果你已經者卻的配置了,那麼來啟動你的程式來看下你的成果吧!

ps:

了解原理很重要喔!

mysql上傳檔案大小

將檔案 以二進位制的形式存到資料庫中,設定資料庫的字段blob,mysql中的blob有多個blob欄位。blob longblob等。選取相應大小的字段進行儲存。型別 大小 單位 位元組 tinyblob 最大 255 blob 最大 65k mediumblob 最大 16m longblob ...

liunx下選擇檔案大小為0的檔案

查詢當前路徑下所有檔案大小為0的檔案,並輸出這些檔案的名字 find name type f size 0c out.txt find name 之間有空格 修改對應的 size 引數就可以查詢指定大小的檔案,如1k大小的檔案 注意不要用 size 1k,這個得到的是占用空間1k,不是檔案大小1k的...

PHP上傳檔案大小限制

歸納了一下上傳檔案大小通常需要設定的地方 1 php.ini配置檔案 設定最大上傳檔案大小 預設為20m php upload max filesize 10m post max size 10m memory limit 20m upload max filesize 10m post max s...