温馨提示×

debian vsftp怎样配置

小樊
45
2026-09-10 21:52:32
栏目: 智能运维

下面给你一份 Debian 下 vsftpd 的常见配置指南,从安装到常用场景(匿名 / 本地用户 / 被动模式),适合新手直接照做。


一、安装 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

1. 禁止匿名登录(默认推荐)

anonymous_enable=NO

2. 允许本地用户登录

local_enable=YES

3. 允许上传文件

write_enable=YES

4. 限制用户在家目录(重要)

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

五、创建 FTP 用户(示例)

sudo useradd -m ftpuser
sudo passwd ftpuser

登录目录默认是:

/home/ftpuser

六、重启 vsftpd

sudo systemctl restart vsftpd

七、常见使用场景

场景 1:只允许某些用户登录

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

把允许的用户写入:

echo ftpuser | sudo tee -a /etc/vsftpd.userlist

场景 2:匿名只读下载

anonymous_enable=YES
anon_root=/var/ftp
write_enable=NO

创建目录:

sudo mkdir -p /var/ftp
sudo chown ftp:ftp /var/ftp

八、排错建议

  1. 登录失败

    • 检查 local_enable
    • 检查用户是否被锁定(passwd -S 用户名
  2. 能连不能列目录

    • 被动端口未开放
    • 防火墙问题
  3. 500 OOPS: chroot

    • allow_writeable_chroot=YES

如果你有具体需求(比如 Docker / 云服务器 / 虚拟用户 / 只读账号),可以告诉我,我可以给你更精确的配置。

0