温馨提示×

怎样设置Debian FTP权限

小樊
45
2026-10-03 20:13:01
栏目: 智能运维

在 Debian 上设置 FTP 权限,通常取决于你使用的 FTP 服务软件。最常见的是 vsftpd(Very Secure FTP Daemon)。下面以 vsftpd 为例,系统讲解如何设置 FTP 权限。


一、安装 vsftpd(如未安装)

sudo apt update
sudo apt install vsftpd

二、核心配置文件

配置文件位置:

/etc/vsftpd.conf

修改前先备份:

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

三、常见权限设置示例

1️⃣ 允许本地用户登录

local_enable=YES

2️⃣ 允许用户上传文件(写权限)

write_enable=YES

3️⃣ 禁止匿名登录(推荐)

anonymous_enable=NO

如需匿名(不推荐):

anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

四、目录权限设置(重点)

示例:给用户 ftpuser 一个 FTP 目录

sudo useradd -m ftpuser
sudo passwd ftpuser

设置主目录权限:

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

⚠️ 注意:

  • FTP 用户 对其根目录不能有写权限(vsftpd 安全限制)
  • 可建子目录用于上传:
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload

五、限制用户只能访问自己目录(chroot)

chroot_local_user=YES
allow_writeable_chroot=YES

⚠️ 若使用 chroot,目录权限必须正确,否则登录失败。


六、限制用户只能使用 FTP(不能登录系统)

sudo usermod -s /usr/sbin/nologin ftpuser

七、防火墙设置

sudo ufw allow 21/tcp

如启用被动模式(推荐):

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
sudo ufw allow 30000:31000/tcp

八、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

九、常见问题排查

问题 原因
530 Login incorrect 用户被禁止登录 / PAM 限制
500 OOPS: chroot 目录权限错误
不能上传 write_enable 未开
被动模式连不上 防火墙未放行被动端口

十、如果你用的是其他 FTP 服务

  • ProFTPD → /etc/proftpd/proftpd.conf
  • Pure-FTPd → 使用 pure-pw 管理用户

如果你愿意,可以告诉我:

  • 你用的是 哪个 FTP 软件
  • 是 匿名 / 本地用户 / 虚拟用户
  • 想实现 只读 / 上传 / 多用户隔离

我可以直接给你一套 可用配置文件。

0 踩