在 Debian 上搭建 FTP 服务器并配置用户,常用方案有 vsftpd(最常用、稳定)。下面按“安装 → 创建用户 → 配置权限 → 测试”的流程说明。
sudo apt update
sudo apt install vsftpd
安装完成后服务一般会自动启动:
systemctl status vsftpd
sudo adduser ftpuser
按提示设置密码(如 ftpuser123)。
默认家目录是 /home/ftpuser,可以直接用:
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
编辑配置文件:
sudo nano /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
✅ 说明:
anonymous_enable=NO:禁止匿名登录local_enable=YES:允许系统用户登录chroot_local_user=YES:限制用户只能访问自己目录allow_writeable_chroot=YES:允许在 chroot 目录写文件保存后重启:
sudo systemctl restart vsftpd
sudo ufw allow 21
如果是云服务器,还需放行 被动端口(见下)。
在 /etc/vsftpd.conf 增加:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
sudo ufw allow 30000:31000/tcp
重启服务。
ftp localhost
输入 ftpuser 和密码。
如果你不想创建系统用户,可以用 virtual users + PAM(稍复杂),适合:
需要的话我可以单独写一份 vsftpd 虚拟用户配置教程。
登录后 530 Permission denied
passwd -S ftpuserlocal_enable=YES500 OOPS: vsftpd: refusing to run with writable root
allow_writeable_chroot=YES如果你告诉我:
我可以给你更精确的配置。