温馨提示×

Debian vsftp怎么改目录

小樊
36
2026-07-16 02:39:11
栏目: 智能运维

在 Debian 上修改 vsftpd(Very Secure FTP Daemon) 的目录,常见需求有几种,下面按场景给你说明(含配置和权限)。


一、修改 FTP 用户的根目录(本地用户)

1️⃣ 修改用户主目录

如果你是用系统用户登录 FTP,默认目录就是该用户的 home 目录。

sudo usermod -d /new/ftp/dir username

例如:

sudo usermod -d /srv/ftp username

⚠️ 目录必须存在,并且有访问权限。


2️⃣ vsftpd 配置(重要)

编辑配置文件:

sudo nano /etc/vsftpd.conf

确认或添加以下内容:

local_enable=YES
write_enable=YES

如果想限制用户只能访问指定目录(推荐):

chroot_local_user=YES
allow_writeable_chroot=YES

然后重启 vsftpd:

sudo systemctl restart vsftpd

二、匿名 FTP 目录(anonymous)

匿名用户默认目录通常是:

/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

四、SELinux / 权限问题(Debian 一般不用 SELinux)

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

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

  • ✅ 用的是 本地用户 / 匿名 / 虚拟用户
  • ✅ 登录后想进哪个目录
  • ✅ 是否允许上传

我可以直接给你一套完整可用配置

0