温馨提示×

debian vsftp怎么改根目录

小樊
55
2026-10-04 22:50:58
栏目: 智能运维

在 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
    

二、给不同用户设置不同根目录(推荐)

1️⃣ 开启用户配置目录

在 /etc/vsftpd.conf 中:

user_config_dir=/etc/vsftpd/user_conf

创建目录:

sudo mkdir -p /etc/vsftpd/user_conf

2️⃣ 为某个用户单独设置根目录

例如用户 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(锁定用户在家目录)

如果你希望用户 不能跳出根目录:

chroot_local_user=YES
allow_writeable_chroot=YES

⚠ 新版 vsftpd 要求:

  • chroot 目录 不可写(或加 allow_writeable_chroot=YES)

五、常见问题排查

登录后还是原目录?

  • 确认配置文件路径正确
  • 确认重启了 vsftpd
  • 查看日志:
    sudo tail -f /var/log/vsftpd.log
    

权限拒绝?

sudo chown ftpuser:ftpuser /data/ftp
sudo chmod 755 /data/ftp

如果你愿意,可以告诉我:

  • 是 本地用户 / 虚拟用户 / 匿名
  • 是否要 可写
  • 是否是 Docker / 云服务器

我可以给你一份精确配置示例。

0 踩