1.安裝vsftpd2.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埠建立命令通道;問題解決步驟:1.開放你的21埠可以直接按照你預設的22埠編寫,把22原封不動弄一行,然後把複製的22換成21即可(技巧:在22那行按esc,然後按yyp即可複製本行)開放完你的21埠後記得重啟:service iptables restart客戶端通過n+1埠與伺服器20埠建立資料傳輸通道。
被動模式(pasv)(client->server)
客戶端開啟埠n(n為》1024的隨機埠)連線伺服器21埠建立命令通道(同上);
客戶端通過n+1埠與伺服器》1024隨機埠建立資料傳輸通道,客戶端使用pasv命令。
[root@rebirth vsftpd]# vim /etc/sysconfig/iptables2.首先我們開啟vsftpd.conf的配置檔案(在你安裝的路徑) vim vsftpd.conf3.在你的vsftpd.conf裡面開啟主動模式的配置:(如果沒有則自己加上去這段命令 一般會有:connect_from_port_20=yes)下面的是我的防火牆配置,不需要跟我的全部一樣,只需要開啟你的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
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...