在 Debian 上配置 FTP 服务器的“主目录”(即用户登录后所在的目录,也叫根目录 / home 目录),取决于你使用哪种 FTP 服务软件。下面以最常见的两种为例:vsftpd(最常用)和 proftpd。
sudo apt update
sudo apt install vsftpd
vsftpd 默认使用 系统用户,主目录就是该用户的 /home/用户名
sudo useradd -m ftpuser
sudo passwd ftpuser
登录后主目录:
/home/ftpuser
编辑配置文件:
sudo nano /etc/vsftpd.conf
确保有以下内容:
chroot_local_user=YES
allow_writeable_chroot=YES
重启服务:
sudo systemctl restart vsftpd
sudo usermod -d /srv/ftp/user1 user1
常见于“统一主目录 + 子目录”:
local_root=/srv/ftp
user_sub_token=$USER
local_root=/srv/ftp/$USER
目录示例:
/srv/ftp/user1
/srv/ftp/user2
sudo apt install proftpd
编辑配置:
sudo nano /etc/proftpd/proftpd.conf
示例(默认用户主目录):
DefaultRoot ~
~ 表示用户系统主目录
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 |
| 多用户隔离 | 虚拟用户 + 子目录 |
如果你能告诉我:
我可以给你一份精确配置文件。