FTP 伺服器是一種軟體應用程式,用於在不同裝置之間傳輸檔案(例如 Mac、Windows 或 Linux 電腦)。儘管這聽起來可能略顯複雜,但實際上,FTP 伺服器只是具備 FTP 位址、專門用來接收 FTP 連線的電腦。這些伺服器主要執行兩項簡單的任務:「取得」與「放置」。您可以從 FTP 伺服器下載檔案,或將檔案上傳至 FTP 伺服器。上傳檔案時,資料會從您的個人裝置傳輸到伺服器;下載檔案時,則是從伺服器傳送到您的裝置。因此,FTP 伺服器在檔案傳輸過程中,扮演著寄件者與收件者之間的中介角色。
FTP 伺服器通常提供兩種傳輸模式:主動模式(Active Mode)和被動模式(Passive Mode)。在主動模式下,伺服器會主動連接到客戶端指定的 port號 進行檔案傳輸;而在被動模式下,伺服器則等待客戶端連接到伺服器指定的埠進行檔案傳輸,這種模式特別適合於客戶端位於防火牆後的情況。
FTP 伺服器廣泛應用於網站維護、檔案分享和備份等用途。然而,由於 FTP 傳輸的數據未經加密,安全性較低,因此在許多情況下已被更安全的協定,如 SFTP 或 FTPS,所取代,這些協定提供了加密的傳輸通道,能有效保護數據安全。
本篇用 vsftp 做實作,首先安裝 vsftp
sudo apt-get install vsftp
設定 vsftp
sudo vim /etc/vsftpd.conf
如果不知道怎麼設定的話,可以參考以下
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES
pasv_enable=YES
pasv_addr_resolve=YES
pasv_max_port=3000
pasv_min_port=20000
注意: listen_ipv6 與 listen 是互斥選項,listen 代表監聽IPv4,listen_ipv6 代表監聽IPv6,只能擇一開啟
以下是設定的內容 :
當你設定完成時,你可以使用 sudo systemctl status vsftpd.service
來查看你的服務狀態,建議這時候重啟服務一下 sudo systemctl restart vsftpd.service
,如果你想測試的話,建議你可以使用 FileZilla 來做測試~
本篇內容應該是我遇到新知識的一篇文章,所以當時得知這個消息的時候,就想著一定要在鐵人賽來跟大家分享,也希望大家可以有所收穫~
https://www.tsg.com.tw/blog-detail4-164-0-ftp.htm
https://www.serv-u.com/ftp-server-windows/server-setup
https://www.techtarget.com/searchnetworking/definition/File-Transfer-Protocol-FTP