FTP做爲一種簡單的明文文件傳輸協議,其工做過程有兩個工做進程--(命令進程(默認21端口)與數據傳輸進程); 而數據傳輸進程又分爲主動與被動兩種模式: 主動FTP: 命令鏈接:客戶端 >1023端口 -> 服務器 21端口 數據鏈接:客戶端 >1023端口 < - 服務器 20端口 被動FTP: 命令鏈接:客戶端 >1023端口 -> 服務器 21端口 數據鏈接:客戶端 >1023端口 -> 服務器 >1023端口 能夠看出兩種模式最大的區別就是數據請求是由客戶端仍是服務端發出; 而主動模式下服務端請求爲一個固定的端口,默認是20(能夠經過ftp_data_port 這個參數進行修改); 那主被動模式如何切換? port_enable=NO或者YES 主動模式設置 pasv_enable=NO或者YES 被動模式設置 pasv_max_port,pasv_min_port 這兩個參數能夠設置被動模式下服務端使用的端口範圍。 主動與被動FTP優缺點: 主動FTP對FTP服務器的管理有利,但對客戶端的管理不利。由於FTP服務器企圖與客戶端的高位隨機端口創建鏈接,而這個端口頗有可能被客戶端的防火牆 阻塞掉。 被動FTP對FTP客戶端的管理有利,但對服務器端的管理不利。由於客戶端要與服務器端創建兩個鏈接,其中一個連到一個高位隨機端口,而這個端口 頗有可能被服務器端的防火牆阻塞掉。 FTP的用戶訪問控制: /etc/vsftpd/ 下有兩個用戶列表文件:ftpuser和user_list ;ftpuser裏面的用戶默認拒絕訪問,user_list也默認拒絕(除非配置了userlist_deny=NO),此時user_list文件中的用戶爲容許訪問。