vsftpd@在ubuntu部署(基于系统用户认证)

vsftpd(Very Secure FTP Daemon)是 Linux/Unix 系统中非常常用且著名的 FTP 服务器软件。它以“安全”为主要设计目标,广泛应用于生产环境中。


1.安装vsftpd

apt-get updat
apt install vsftpd
systemctl enable --now vsftpd

2.新增ftp用户及目录

mkdir -p /data/ftp/output
useradd -m -s /sbin/nologin ftpmodels
chown -R ftpmodels: /data/ftp
passwd ftpmodels

3.vsftpd配置

/etc/vsftpd.conf

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/data/ftp
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40010
pasv_address=<public-ip>
pam_service_name=vsftpd

pasv_address填写实际外网IP

/etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
auth    required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth    required        pam_unix.so
account required        pam_unix.so

3.启动vsftpd

systemctl restart vsftpd

4.添加防火墙策略

加下访问策略 8188 21 40000-40010

5.登录验证

ftp xxx@ip
传输模式:被动

ftp客户端: FileZilla