温馨提示×

debian ftpserver怎样设用户

小樊
33
2026-09-22 00:20:12
栏目: 智能运维

在 Debian 上搭建 FTP 服务器并配置用户,常用方案有 vsftpd(最常用、稳定)。下面按“安装 → 创建用户 → 配置权限 → 测试”的流程说明。


一、安装 FTP 服务(vsftpd)

sudo apt update
sudo apt install vsftpd

安装完成后服务一般会自动启动:

systemctl status vsftpd

二、创建 FTP 用户(系统用户方式,最简单)

1. 创建用户

sudo adduser ftpuser

按提示设置密码(如 ftpuser123)。

2. 指定 FTP 根目录(可选)

默认家目录是 /home/ftpuser,可以直接用:

sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

三、配置 vsftpd(关键)

编辑配置文件:

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 和密码。

远程测试(FileZilla)

  • 主机:服务器IP
  • 协议:FTP
  • 用户名:ftpuser
  • 密码:***
  • 模式:被动

七、可选:虚拟用户(多用户、无系统账号)

如果你不想创建系统用户,可以用 virtual users + PAM(稍复杂),适合:

  • 很多 FTP 账号
  • 不想给 shell 权限

需要的话我可以单独写一份 vsftpd 虚拟用户配置教程


常见问题

登录后 530 Permission denied

  • 检查用户是否被锁:passwd -S ftpuser
  • 确认 local_enable=YES

500 OOPS: vsftpd: refusing to run with writable root

  • allow_writeable_chroot=YES

如果你告诉我:

  • vsftpd / proftpd / pure-ftpd
  • 是否需要 只读 / 上传 / 多用户

我可以给你更精确的配置。

0