温馨提示×

debian ftpserver怎么搭建

小樊
44
2026-09-03 17:09:22
栏目: 智能运维

在 Debian 上搭建 FTP 服务器,最常用、稳定且安全的方案是使用 vsftpd(Very Secure FTP Daemon)。下面我从 安装 → 配置 → 用户 → 防火墙 → 测试 一步一步说明。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

安装完成后,vsftpd 会自动启动。

查看状态:

systemctl status vsftpd

二、基础配置(匿名 / 本地用户)

配置文件位置:

/etc/vsftpd.conf

先备份:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

1️⃣ 允许本地用户登录(推荐)

编辑配置:

sudo nano /etc/vsftpd.conf

确保以下配置:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

重启服务:

sudo systemctl restart vsftpd

此时 系统已有用户 就可以用 FTP 登录了。


三、创建 FTP 专用用户(推荐)

不建议直接用 root 或普通系统账号。

sudo useradd -m ftpuser
sudo passwd ftpuser

设置家目录(例如 /srv/ftp):

sudo mkdir -p /srv/ftp
sudo usermod -d /srv/ftp ftpuser

赋予权限:

sudo chown ftpuser:ftpuser /srv/ftp

四、限制用户只能访问家目录(重要安全)

编辑 /etc/vsftpd.conf

chroot_local_user=YES
allow_writeable_chroot=YES

重启:

sudo systemctl restart vsftpd

这样用户登录后看不到系统其他目录。


五、防火墙设置

如果是 ufw:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

如果使用被动模式(推荐)

vsftpd.conf 添加:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙放行:

sudo ufw allow 30000:31000/tcp

六、测试 FTP

命令行测试

ftp localhost

或使用 FileZilla

  • 主机:服务器 IP
  • 协议:FTP
  • 加密:只使用普通 FTP
  • 用户 / 密码:你创建的 ftpuser

七、常见问题

❌ 530 Login incorrect

  • 用户被锁定
  • shell 不对(可用 /bin/bash
sudo usermod -s /bin/bash ftpuser

❌ 500 OOPS: vsftpd: refusing to run with writable root

allow_writeable_chroot=YES

八、进阶(可选)

  • 虚拟用户(更安全)
  • FTPS(SSL/TLS 加密)
  • SFTP(基于 SSH,不是 FTP)

如果你需要 FTPS 加密配置虚拟用户方案,我可以继续教你。

你是 个人使用 还是 服务器对外提供 FTP?我可以按场景给你更合适的方案。

0