在 Debian 上修改 vsftpd(Very Secure FTP Daemon) 的目录,常见需求有几种,下面按场景给你说明(含配置和权限)。
如果你是用系统用户登录 FTP,默认目录就是该用户的 home 目录。
sudo usermod -d /new/ftp/dir username
例如:
sudo usermod -d /srv/ftp username
⚠️ 目录必须存在,并且有访问权限。
编辑配置文件:
sudo nano /etc/vsftpd.conf
确认或添加以下内容:
local_enable=YES
write_enable=YES
如果想限制用户只能访问指定目录(推荐):
chroot_local_user=YES
allow_writeable_chroot=YES
然后重启 vsftpd:
sudo systemctl restart vsftpd
匿名用户默认目录通常是:
/srv/ftp
或
/var/ftp
在 /etc/vsftpd.conf 中设置:
anon_root=/srv/ftp
然后:
sudo systemctl restart vsftpd
⚠️ 匿名目录权限建议:
sudo chown root:root /srv/ftp
sudo chmod 755 /srv/ftp
如果你用的是 虚拟用户(virtual user),目录通常在:
guest_enable=YES
guest_username=ftp
local_root=/srv/ftp/$USER
示例:
user_sub_token=$USER
local_root=/srv/ftp/$USER
目录结构示例:
/srv/ftp/user1
/srv/ftp/user2
Debian 默认 没有 SELinux,但注意:
sudo chown -R ftpuser:ftpuser /srv/ftp
sudo chmod 755 /srv/ftp
sudo systemctl status vsftpd
sudo journalctl -u vsftpd
| 需求 | 修改位置 |
|---|---|
| 本地用户目录 | usermod -d + vsftpd.conf |
| 匿名目录 | anon_root= |
| 虚拟用户目录 | local_root= |
| 限制目录切换 | chroot_local_user=YES |
如果你愿意,可以告诉我:
我可以直接给你一套完整可用配置。