在 Debian 上配置 FTP 服务器权限,常见的是使用 vsftpd(最常用、稳定)。下面按常见场景给你一个完整、可落地的配置说明。
sudo apt update
sudo apt install vsftpd
编辑配置文件:
sudo nano /etc/vsftpd.conf
确认或修改为:
anonymous_enable=NO
local_enable=YES
write_enable=YES
⚠️ 前提:Linux 文件系统权限也要允许写
chroot_local_user=YES
allow_writeable_chroot=YES
这样用户登录后 不能切换到 / 以外目录
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后在文件中添加允许的用户:
sudo nano /etc/vsftpd.userlist
alice
bob
userlist_deny=YES
FTP 权限 = vsftpd 配置 + Linux 文件权限
sudo mkdir -p /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload
sudo chmod 755 /home/ftpuser
sudo chmod 775 /home/ftpuser/upload
解释:
| 目录 | 权限 |
|---|---|
| 家目录 | 755(不可写) |
| upload | 775(可写) |
✅ 防止用户在家目录乱删文件
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
防火墙放行:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
Debian 默认没有 SELinux,如果你用的是 Ubuntu/Debian,可忽略。
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
/etc/ftpusers 中限制了用户sudo nano /etc/ftpusers
write_enable=NOallow_writeable_chroot=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
| FTP 服务 | 说明 |
|---|---|
| vsftpd | ✅ 推荐 |
| proftpd | 配置更像 Apache |
| pure-ftpd | 权限控制更细 |
如果你愿意,可以告诉我:
我可以给你一份完全符合你需求的配置模板。