Debian 下 vsftpd 的“权限”主要涉及 Linux 文件系统权限 + vsftpd 配置项 两部分。下面按常见场景给你一个清晰、可操作的说明。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
重启服务:
sudo systemctl restart vsftpd
anonymous_enable=NO
local_enable=YES
write_enable=YES
⚠️ 注意:
即使这里开了,目录本身没有写权限也不行
ftpusersudo useradd -m ftpuser
sudo passwd ftpuser
drwxr-xr-x ftpuser ftpuser /home/ftpuser
✅ 推荐权限:
chown ftpuser:ftpuser /home/ftpuser
chmod 755 /home/ftpuser
如果要上传:
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload
chmod 755 /home/ftpuser/upload
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 如果不加 allow_writeable_chroot=YES
用户家目录可写时会登录失败
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
如果你不想给系统账号,可用虚拟用户。
vsftpd)guest_enable=YES
guest_username=vsftpd
虚拟用户权限通过 目录权限 控制,而不是系统账号。
write_enable=YES 没开加:
allow_writeable_chroot=YES
listen=NO
listen_ipv6=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
vsftpd 的权限 = vsftpd 配置控制“能不能” + Linux 目录权限控制“能不能写”
如果你愿意,可以告诉我:
我可以给你一份 100% 可用的完整配置。