温馨提示×

Debian如何安装vsftp

小樊
55
2026-07-02 11:35:12
栏目: 智能运维

在 Debian 系统上安装和配置 vsftpd(Very Secure FTP Daemon) 的步骤如下:


一、更新软件源并安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

安装完成后,vsftpd 会自动以系统服务方式存在。


二、启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

检查状态:

sudo systemctl status vsftpd

看到 active (running) 即表示运行正常。


三、配置 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

# 本地用户 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

四、创建 FTP 用户(示例)

sudo useradd -m ftpuser
sudo passwd ftpuser

如果你想限制该用户只能通过 FTP 登录,不能 SSH:

sudo usermod -s /usr/sbin/nologin ftpuser

五、防火墙配置(重要)

如果使用 UFW

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload

如果使用 iptables

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

使用命令行

ftp 服务器IP

或使用 FileZilla

  • 协议:FTP
  • 主机:服务器 IP
  • 加密:仅使用明文 FTP(或如果需要可配置 FTPS)
  • 用户/密码:你创建的 FTP 用户

七、常见问题

1. 登录后 530 错误

  • 检查 /etc/ftpusers
  • 确保用户不在禁止登录列表中

2. 无法上传文件

  • 检查目录权限
  • 确认 write_enable=YES

3. 被动模式连不上

  • 检查防火墙
  • 确认 pasv_min_port / pasv_max_port 已放行

如果你需要 FTPS(FTP over SSL)虚拟用户配置只允许特定用户访问,可以继续告诉我你的使用场景,我可以给你对应的完整配置方案。

0