在 Debian 上使用 vsftpd(Very Secure FTP Daemon) 时,权限设置主要涉及 系统用户权限、vsftpd 配置、目录权限 三个方面。下面按常见需求给你一个清晰说明。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
编辑配置:
sudo nano /etc/vsftpd.conf
anonymous_enable=NO # 禁止匿名(推荐)
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 不加 allow_writeable_chroot=YES,用户主目录可写时会登录失败。
sudo useradd -m ftpuser
sudo passwd ftpuser
假设 FTP 根目录为 /home/ftpuser:
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
如果用户需要上传文件:
sudo chmod 775 /home/ftpuser
write_enable=NO
或目录设为:
chmod 555 /home/ftpuser
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
在文件中加入允许的用户:
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
一般用 pam + db4,适合大量 FTP 用户。如果你需要,我可以单独写一套配置。
sudo ufw allow 20/tcp
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
allow_writeable_chroot=YESwrite_enable 和目录权限如果你能告诉我:
我可以直接给你一份 完整可用配置。