在 Debian 上设置 FTP 权限,通常取决于你使用的 FTP 服务软件。最常见的是 vsftpd(Very Secure FTP Daemon)。下面以 vsftpd 为例,系统讲解如何设置 FTP 权限。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
修改前先备份:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
local_enable=YES
write_enable=YES
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
⚠️ 注意:
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 若使用 chroot,目录权限必须正确,否则登录失败。
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
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
| 问题 | 原因 |
|---|---|
| 530 Login incorrect | 用户被禁止登录 / PAM 限制 |
| 500 OOPS: chroot | 目录权限错误 |
| 不能上传 | write_enable 未开 |
| 被动模式连不上 | 防火墙未放行被动端口 |
/etc/proftpd/proftpd.confpure-pw 管理用户如果你愿意,可以告诉我:
我可以直接给你一套 可用配置文件。