下面给你一份 Debian 下 vsftpd 的常见配置指南,从安装到常用场景(匿名 / 本地用户 / 被动模式),适合新手直接照做。
sudo apt update
sudo apt install vsftpd
安装后服务一般会自动启动:
sudo systemctl status vsftpd
主配置文件:
/etc/vsftpd.conf
修改前先备份:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
编辑配置文件:
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
不加
allow_writeable_chroot=YES,用户家目录可写时会报错
如果 FTP 用在 公网或云服务器,必须配置被动模式。
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=41000
并在防火墙放行:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:41000/tcp
sudo useradd -m ftpuser
sudo passwd ftpuser
登录目录默认是:
/home/ftpuser
sudo systemctl restart vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
把允许的用户写入:
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
anonymous_enable=YES
anon_root=/var/ftp
write_enable=NO
创建目录:
sudo mkdir -p /var/ftp
sudo chown ftp:ftp /var/ftp
登录失败
local_enablepasswd -S 用户名)能连不能列目录
500 OOPS: chroot
allow_writeable_chroot=YES如果你有具体需求(比如 Docker / 云服务器 / 虚拟用户 / 只读账号),可以告诉我,我可以给你更精确的配置。