1. 程式人生 > >Ubuntu 14.04 搭建 ftp

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