在 Debian 系统上安装和配置 vsftpd(Very Secure FTP Daemon) 的步骤如下:
sudo apt update
sudo apt install vsftpd -y
安装完成后,vsftpd 会自动以系统服务方式存在。
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
检查状态:
sudo systemctl status vsftpd
看到 active (running) 即表示运行正常。
配置文件路径:
/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
# 本地用户 umask
local_umask=022
# 禁止 chroot 目录可写报错(Debian 默认需要)
allow_writeable_chroot=YES
# 限制用户只能访问自己的家目录(可选)
chroot_local_user=YES
# 启用日志
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
# 使用被动模式(推荐)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
保存后重启服务:
sudo systemctl restart vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
如果你想限制该用户只能通过 FTP 登录,不能 SSH:
sudo usermod -s /usr/sbin/nologin ftpuser
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
ftp 服务器IP
/etc/ftpuserswrite_enable=YESpasv_min_port / pasv_max_port 已放行如果你需要 FTPS(FTP over SSL)、虚拟用户配置 或 只允许特定用户访问,可以继续告诉我你的使用场景,我可以给你对应的完整配置方案。