创建FTP用户

创建ftp用户和设置密码:

$ sudo useradd -m ftpuser
$ sudo passwd ftpuser
New password: 
Retype new password: 
passwd: password updated successfully

创建测试文件

$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
如何在Ubuntu 20.04 Linux上设置FTP服务器

连接到FTP服务器测试

$ ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:user1): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0              12 Mar 04 22:41 FTP-TEST
226 Directory send OK.
ftp>

安装VSFTPD

在系统上安装VSFTPD:

$ sudo apt-get install vsftpd

配置vsftpd服务器

备份原始配置文件:

$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig

编辑VSFTPD配置文件:

$ sudo nano /etc/vsftpd.conf

基本配置参考。此配置足以满足基本FTP服务器,后面可以根据环境的特定需求进行调整:

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
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES

设置UFW防火墙,允许ftp流量

sudo ufw allow from any to any port 20,21,10000:10100 proto tcp

重启vsftpd服务使设置生效

$ sudo systemctl restart vsftpd
日期:2020-07-07 20:55:39 来源:oir作者:oir