Ubuntu 18 vsftpd安裝與設置

安裝vsftpd

sudo apt-get install vsftpd

啟動vsftpd服務

sudo systemctl start vsftpd

設置開機後自動啟動vsftpd服務

sudo systemctl enable vsftpd

設定防火牆

允許port21 (ftp預設端口)

sudo ufw allow 21

同時允許被動模式端口

sudo ufw allow 10000:11000/tcp

reload防火牆使之生效(一般ubuntu會自動生效, 可不用reload)

sudo ufw reload/tcp

新增vsftp使用者,如”ftpuser”

sudo adduser ftpuser

授予sudo權限

sudo usermod -G sudo ftpuser

創建ftp根目錄,如”ftp”

sudo mkdir /home/ftpuser/ftp

設置ftp根目錄權限

sudo chmod a-w /home/ftpuser/ftp

更改vsftpd設定

先備份設置文件

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

直接移除原有設文件並重新創建,亦可以更改vsftpd.conf內容

sudo rm /etc/vsftpd.conf
sudo nano /etc/vsftpd.conf

vsftpd.conf內容如下

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
chmod_enable=YES

“local_root=”為以”ftpuser”登入時ftp上載/下載的根目錄

anonymous_enable=YES“時需設置”anon_root”(即非local user登入時的上載/下載根目錄

按Ctrl+X->Y->Enter儲存並退出

添加用戶列表

sudo nano /etc/vsftpd.userlist

加入”ftpuser”並儲存

重啟vsftpd服務

sudo systemctl restart vsftpd

查看vsftpd狀態

sudo systemctl status vsftpd

active: (running)即正常啟動