在 Ubuntu 上限制 FileZilla 的访问权限
一、先明确限制对象与协议
二、使用 vsftpd 时的权限限制(FTP/FTPS)
sudo apt update && sudo apt install vsftpdanonymous_enable=NOlocal_enable=YESwrite_enable=NO(只读场景;需要上传再改为 YES)xferlog_enable=YES、connect_from_port_20=YESchroot_local_user=YESallow_writeable_chroot=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list/etc/vsftpd.chroot_list 中逐行写入需要限制的用户名sudo chown ftpuser:ftpuser /home/ftpuser && sudo chmod 755 /home/ftpusersudo systemctl restart vsftpd && sudo systemctl status vsftpd三、使用 OpenSSH/SFTP 时的权限限制(推荐更安全的方案)
sudo adduser --shell /usr/sbin/nologin --home /srv/ftp/readonly ftpusersudo mkdir -p /srv/ftp/readonly && sudo chown ftpuser:ftpuser /srv/ftp/readonly && sudo chmod 755 /srv/ftp/readonlychmod 755 /srv/ftp/readonly,文件 644chmod 775 /srv/ftp/readonly,必要时将用户加入同组并设 setgid 保持子目录属组一致四、按用户或网段进一步限制
userlist_enable=YES、userlist_deny=NO、userlist_file=/etc/vsftpd.user_list,在列表中写入允许的用户sudo nano /etc/hosts.allow 写入 vsftpd: 192.168.1.0/24 203.0.113.10/etc/hosts.deny 写入 vsftpd: ALLsudo ufw allow 21/tcpsudo ufw allow 50000:50009/tcp五、常见问题与排错要点
chroot_local_user=YES 时,添加 allow_writeable_chroot=YES,或将用户根目录设为不可写(更推荐做法:根目录只读,给用户一个可写的子目录,如 upload/,权限 775/755 视需求设置)。