温馨提示×

debian怎样限制vsftp用户

小樊
42
2026-10-25 12:14:37
栏目: 智能运维

在 Debian 上限制 vsftpd(Very Secure FTP Daemon)用户,通常有以下几种常见需求与做法。你可以根据目的选择对应方案。


一、限制用户只能访问自己的家目录(最常用)

1. 修改 vsftpd 配置

编辑配置文件:

sudo nano /etc/vsftpd.conf

确保有以下内容:

chroot_local_user=YES
allow_writeable_chroot=YES
  • chroot_local_user=YES:把所有本地用户限制在家目录
  • allow_writeable_chroot=YES:允许用户在家目录中写文件(否则可能登录失败)

2. 重启服务

sudo systemctl restart vsftpd

✅ 效果:用户登录后不能 cd /


二、只允许指定用户登录(白名单)

1. 开启用户列表功能

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.allowed_users

2. 创建允许用户列表

sudo nano /etc/vsftpd.allowed_users

写入允许登录的用户,例如:

alice
bob

3. 重启 vsftpd

sudo systemctl restart vsftpd

✅ 效果:只有列表中的用户能登录


三、禁止指定用户登录(黑名单)

1. 配置 vsftpd

userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users

2. 创建黑名单

sudo nano /etc/vsftpd.denied_users

写入禁止用户:

tom
root

✅ 效果:列表中用户无法登录


四、禁止系统用户登录 FTP

方法 1:直接锁定用户

sudo usermod -s /usr/sbin/nologin username

方法 2:禁止 root 登录(强烈建议)

local_enable=YES
# 不要加 root 到 allowed_users

或使用:

userlist_deny=YES

并在黑名单中加入 root


五、限制用户上传 / 下载权限

禁止上传

write_enable=NO

针对单个用户(配合虚拟用户或 PAM)

  • 使用 user_config_dir
user_config_dir=/etc/vsftpd/user_conf

为每个用户建文件:

sudo nano /etc/vsftpd/user_conf/alice

示例:

write_enable=NO
download_enable=YES

六、限制连接数与速度(防滥用)

max_clients=50
max_per_ip=2
anon_max_rate=50000
local_max_rate=100000

七、推荐安全配置示例

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.allowed_users

如果你能说明 具体想限制什么(如:只能下载、不能删文件、限制 IP、限制带宽等),我可以给你更精确的配置。

0 踩