Ubuntu 14.04 搭建 ftp
一、安裝ftp伺服器vsftpd
$sudo apt-get update
$sudo apt-get install vsftpd
ftp伺服器使用21埠,安裝成功之後檢視是否開啟21埠
$ sudo netstat -npltu | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 15601/vsftpd
二、修改配置檔案
Vsftpd配置檔案為 /etc/vsftpd.conf
listen=<YES/NO>:設定為YES時vsftpd以獨立執行方式啟動,設定為NO時以xinetd方式啟動(xinetd是管理守護程序的,將服務集中管理,可以減少大量服務的資源消耗)
listen_port=<port>:設定控制連線的監聽埠號,預設為21
listen_address=<ipaddress> :將在繫結到指定IP地址執行,適合多網絡卡
connect_from_port_20=<YES/NO> :若為YES,則強迫FTP-DATA的資料傳送使用port 20,預設YES
pasv_enable=<YES/NO>:是否使用被動模式的資料連線,如果客戶機在防火牆後,請開啟為YES
pasv_min_port=<n>
pasv_max_port=<m>:設定被動模式後的資料連線埠範圍在n和m之間,建議為50000-60000埠
message_file=<filename>:設定使用者進入某個目錄時顯示的檔案內容,預設為 .message
dirmessage_enable=<YES/NO>:設定使用者進入某個目錄時是否顯示由message_file指定的檔案內容
ftpd_banner=<message>:設定使用者連線伺服器後的顯示資訊,就是歡迎資訊
banner_file=<filename>:設定使用者連線伺服器後的顯示資訊存放在指定的filename檔案中
connect_timeout=<n>:如果客戶機連線伺服器超過N秒,則強制斷線,預設60
accept_timeout=<n>:當使用者以被動模式進行資料傳輸時,伺服器發出passive port指令等待客戶機超過N秒,則強制斷線,預設60
accept_connection_timeout=<n>:設定空閒的資料連線在N秒後中斷,預設120
data_connection_timeout=<n>: 設定空閒的使用者會話在N秒後中斷,預設300
max_clients=<n>: 在獨立啟動時限制伺服器的連線數,0表示無限制
max_per_ip=<n>:在獨立啟動時限制客戶機每IP的連線數,0表示無限制(不知道是否跟多執行緒下載有沒幹系)
local_enable=<YES/NO>:設定是否支援本地使用者帳號訪問
guest_enable=<YES/NO>:設定是否支援虛擬使用者帳號訪問
write_enable=<YES/NO>:是否開放本地使用者的寫許可權
local_umask=<nnn>:設定本地使用者上傳的檔案的生成掩碼,預設為077
local_max_rate<n>:設定本地使用者最大的傳輸速率,單位為bytes/sec,值為0表示不限制
local_root=<file>:設定本地使用者登陸後的目錄,預設為本地使用者的主目錄
chroot_local_user=<YES/NO>:當為YES時,所有本地使用者可以執行chroot
chroot_list_enable=<YES/NO>
chroot_list_file=<filename>:當chroot_local_user=NO且chroot_list_enable=YES時,只有filename檔案指定的使用者可以執行chroot
anonymous_enable=<YES/NO>:設定是否支援匿名使用者訪問
anon_max_rate=<n>:設定匿名使用者的最大傳輸速率,單位為B/s,值為0表示不限制
anon_world_readable_only=<YES/NO> 是否開放匿名使用者的瀏覽許可權
anon_upload_enable=<YES/NO>設定是否允許匿名使用者上傳
anon_mkdir_write_enable=<YES/NO>:設定是否允許匿名使用者建立目錄
anon_other_write_enable=<YES/NO>:設定是否允許匿名使用者其他的寫許可權(注意,這個在安全上比較重要,一般不建議開,不過關閉會不支援續傳)
anon_umask=<nnn>:設定匿名使用者上傳的檔案的生成掩碼,預設為077
修改完配置檔案後重啟vsftpd啟用新的配置
$sudo service vsftpd restart
三、本機測試
[email protected]:~$ftp localhost <登入本機ftp>
ftp: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:stone): stone <預設可使用系統使用者名稱密碼登入>
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>ls <檢視當前目錄,預設為使用者家目錄,這裡已修改為ftproot,修改方法見配置檔案介紹>
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r-- 1 1000 1000 9 Jun 17 11:31 he.txt
226 Directory send OK.
ftp>put hello.txt <上傳檔案hello.txt,需在配置檔案中設定write_enable=yes>
local: hello.txt remote: hello.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
11 bytes sent in 0.00 secs (114.3 kB/s)
ftp>get he.txt <下載檔案>
local: he.txt remote: he.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for he.txt (9 bytes).
226 Transfer complete.
9 bytes received in 0.00 secs (23.9 kB/s)
ftp>exit <退出>
221 Goodbye.
原文:https://blog.csdn.net/stone8761/article/details/51699588