1 安装 vsftpd
(1)更新软件源
sudo apt update
(2)安装 vsftpd
sudo apt install vsftpd
(3)启动 vsftpd 服务
sudo systemctl start vsftpd
(4)设置 vsftpd 服务开机自启动
sudo systemctl enable vsftpd
(5)查看 vsftpd 服务是否启动成功
systemctl status vsftpd
2 编辑 vsftpd 配置文件
sudo gedit /etc/vsftpd.conf
编辑 vsftpd.conf
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
connect_from_port_20=YES
pam_service_name=ftp
pasv_enable=YES
pasv_min_port=41000
pasv_max_port=42000
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES
local_root=/home/ftp/data
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
注意:这里将 ftp 服务器配置成被动模式。被动模式简言之,就是服务器开放端口给客户端连接。如果 ftp 搭建在云服务器上,除了要打开 tcp 被动端口 41000~42000 外,同时还要打开 tcp 端口20和21。
3 添加用户
(1)创建FTP目录,并修改权限
sudo mkdir /home/ftp
sudo mkdir /home/ftp/data
sudo chmod -R 777 /home/ftp/data
(2)添加新用户,并设置新用户登录密码
sudo useradd -d /home/ftp/data -s /sbin/nologin USER
sudo passwd 123456
(3)在 /etc 目录下创建 vsftpd.allowed_users 文件
sudo gedit /etc/vsftpd.allowed_users
并在文件中输入上述步骤中创建的用户名
USER
4 重启 vsftpd 服务,使配置文件生效
sudo systemctl restart vsftpd