在 Debian 上搭建 FTP 服务器(常见用 vsftpd),“设权限”一般涉及 系统用户权限、目录权限、vsftpd 配置限制、SELinux/防火墙(Debian 一般无 SELinux) 等几个方面。下面按最常见场景说明。
sudo apt update
sudo apt install vsftpd
/etc/vsftpd.conf
修改后重启:
sudo systemctl restart vsftpd
local_enable=YES
write_enable=YES
write_enable=YES 才能上传/删除useradd ftpuser)目录权限示例:
sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
chroot_local_user=YES
allow_writeable_chroot=YES
⚠ 注意:
chroot 后不能写,要加 allow_writeable_chroot=YESanonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
匿名目录权限:
sudo chown ftp:ftp /srv/ftp
write_enable=NO
或只对某用户限制(用 user_config_dir):
user_config_dir=/etc/vsftpd/user_conf
echo "write_enable=NO" > /etc/vsftpd/user_conf/readonlyuser
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
userlist_deny=NO → 只有列表里的能登FTP 权限 = vsftpd 配置 + 系统权限
示例:
chmod 750 /home/ftpuser
chown ftpuser:ftpuser /home/ftpuser/ftp
sudo ufw allow 21
被动模式(推荐):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
sudo ufw allow 30000:31000/tcp
sudo systemctl status vsftpd
tail -f /var/log/vsftpd.log
常见错误:
如果你能告诉我:
我可以直接给你一套可复制的配置。