温馨提示×

Debian FTP怎样设主目录

小樊
48
2026-10-03 20:23:01
栏目: 智能运维

在 Debian 上配置 FTP 服务器的“主目录”(即用户登录后所在的目录,也叫根目录 / home 目录),取决于你使用哪种 FTP 服务软件。下面以最常见的两种为例:vsftpd(最常用)和 proftpd。


一、使用 vsftpd(推荐,Debian 默认常见)

1. 安装

sudo apt update
sudo apt install vsftpd

2. 设置系统用户主目录(最基础方式)

vsftpd 默认使用 系统用户,主目录就是该用户的 /home/用户名

sudo useradd -m ftpuser
sudo passwd ftpuser

登录后主目录:

/home/ftpuser

3. 锁定用户在主目录(禁止访问其他目录)

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保有以下内容:

chroot_local_user=YES
allow_writeable_chroot=YES

重启服务:

sudo systemctl restart vsftpd

4. 指定不同主目录(虚拟用户或自定义)

方法 A:修改系统用户主目录

sudo usermod -d /srv/ftp/user1 user1

方法 B:使用虚拟用户(高级)

常见于“统一主目录 + 子目录”:

local_root=/srv/ftp
user_sub_token=$USER
local_root=/srv/ftp/$USER

目录示例:

/srv/ftp/user1
/srv/ftp/user2

二、使用 ProFTPD

1. 安装

sudo apt install proftpd

2. 设置主目录

编辑配置:

sudo nano /etc/proftpd/proftpd.conf

示例(默认用户主目录):

DefaultRoot ~

~ 表示用户系统主目录

3. 指定固定主目录

DefaultRoot /srv/ftp

或按用户:

<Directory /srv/ftp/user1>
  <Limit ALL>
    AllowUser user1
  </Limit>
</Directory>

重启:

sudo systemctl restart proftpd

三、常见目录权限问题

sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser

如果是 chroot 环境:

sudo chmod 555 /home/ftpuser

四、快速总结

需求 做法
用户主目录 /home/用户名
锁定主目录 chroot_local_user=YES
自定义主目录 usermod -d 或 local_root
多用户隔离 虚拟用户 + 子目录

如果你能告诉我:

  • 用的是 vsftpd / proftpd / pure-ftpd
  • 是 系统用户还是虚拟用户
  • 是否要 可写 / 只读 / 多用户隔离

我可以给你一份精确配置文件。

0 踩