在 Debian 上修改 vsftpd 的 FTP 根目录(用户登录后的根目录),常见有几种方式,下面按使用场景说明。
编辑 vsftpd 配置文件:
sudo nano /etc/vsftpd.conf
添加或修改:
local_root=/data/ftp
然后重启服务:
sudo systemctl restart vsftpd
✅ 效果:所有 本地用户 登录后都会进入 /data/ftp
⚠ 注意:
sudo mkdir -p /data/ftp
sudo chmod 755 /data/ftp
在 /etc/vsftpd.conf 中:
user_config_dir=/etc/vsftpd/user_conf
创建目录:
sudo mkdir -p /etc/vsftpd/user_conf
例如用户 test:
sudo nano /etc/vsftpd/user_conf/test
内容:
local_root=/home/test/ftp
重启 vsftpd:
sudo systemctl restart vsftpd
✅ 效果:只有 test 用户根目录改变,其他用户不变
如果是匿名 FTP:
anon_root=/srv/ftp/pub
重启服务即可。
如果你希望用户 不能跳出根目录:
chroot_local_user=YES
allow_writeable_chroot=YES
⚠ 新版 vsftpd 要求:
chroot 目录 不可写(或加 allow_writeable_chroot=YES)sudo tail -f /var/log/vsftpd.log
sudo chown ftpuser:ftpuser /data/ftp
sudo chmod 755 /data/ftp
如果你愿意,可以告诉我:
我可以给你一份精确配置示例。