温馨提示×

如何设置Debian FTP用户

小樊
39
2026-09-30 22:27:54
栏目: 智能运维

在 Debian 上设置 FTP 用户,通常分为安装 FTP 服务、创建系统用户、配置 FTP 服务、设置权限与目录几个步骤。下面以最常见的 vsftpd(Very Secure FTP Daemon)为例说明。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

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

sudo systemctl status vsftpd

二、创建 FTP 用户

1. 创建系统用户(推荐方式)

sudo adduser ftpuser

按提示设置密码和用户信息。

⚠️ 如果不希望该用户登录系统,可改为:

sudo useradd -m -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser

三、配置 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:允许本地用户登录
  • write_enable=YES:允许上传
  • chroot_local_user=YES:限制用户在其主目录

保存后重启服务:

sudo systemctl restart vsftpd

四、设置 FTP 用户目录

默认用户主目录:

/home/ftpuser

如需自定义目录:

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

并在 /etc/passwd 中修改用户主目录,或创建时指定:

sudo useradd -m -d /srv/ftp/ftpuser -s /usr/sbin/nologin ftpuser

五、防火墙设置(如有)

如果启用了防火墙:

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

若使用被动模式(推荐):

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

并放行端口:

sudo ufw allow 40000:50000/tcp

六、测试 FTP 登录

ftp localhost

或使用 FileZilla / WinSCP 测试。


七、常见问题

1. 登录后无法上传

  • 确认 write_enable=YES
  • 确认目录权限:
sudo chmod 755 /home/ftpuser

2. 500 OOPS: vsftpd: refusing to run with writable root

加入:

allow_writeable_chroot=YES

3. 仅允许特定用户登录

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

并将用户名加入:

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

如果你需要的是:

  • 虚拟用户(非系统用户)
  • SSL/TLS 加密 FTP
  • 多用户隔离目录

可以告诉我,我可以进一步给你配置示例。

0 踩