温馨提示×

debian如何限制vsftp用户

小樊
54
2026-09-07 23:56:13
栏目: 智能运维

在 Debian 上限制 vsftpd 用户通常从以下几个方面入手:

  • 限制用户只能访问自己的家目录(禁锢)
  • 禁止系统用户登录 FTP
  • 限制可登录的用户列表
  • 限制上传/下载/写入权限
  • 限制带宽、连接数等

下面按常见需求说明配置方法。


一、安装 vsftpd(如未安装)

sudo apt update
sudo apt install vsftpd

配置文件路径:

/etc/vsftpd.conf

二、限制用户只能访问自己的目录(chroot)

防止用户跳到系统其他目录

1. 启用 chroot

编辑 /etc/vsftpd.conf:

chroot_local_user=YES
allow_writeable_chroot=YES

allow_writeable_chroot=YES 允许家目录可写(否则登录失败)

2. 重启服务

sudo systemctl restart vsftpd

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

方法 1:user_list 白名单(推荐)

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

创建用户列表:

sudo nano /etc/vsftpd.user_list

内容示例:

ftpuser1
ftpuser2

重启:

sudo systemctl restart vsftpd

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


四、禁止系统用户登录 FTP(黑名单)

如果你想 禁止大多数系统用户:

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

/etc/vsftpd.user_list 中写:

root
www-data

五、禁止某用户登录 FTP(最彻底)

在 /etc/passwd 中修改 shell:

sudo usermod -s /usr/sbin/nologin username

或:

sudo usermod -s /bin/false username

六、限制写入权限(只读 FTP)

write_enable=NO

或针对用户:

# 配合 chroot 使用

七、限制连接数与带宽

max_clients=50
max_per_ip=3
local_max_rate=102400   # 100KB/s

八、专用 FTP 用户示例(推荐做法)

sudo useradd -m -s /usr/sbin/nologin ftpuser1
sudo passwd ftpuser1

配置:

chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO

九、常见排错

  • 登录失败:检查 /var/log/vsftpd.log
  • 530 错误:用户被 user_list 拒绝
  • 500 OOPS:家目录可写但未设置 allow_writeable_chroot

如果你能说明 想限制到什么程度(比如:只能上传不能下载 / 只能某 IP 登录 / 虚拟用户),我可以给你更精确的配置。

0 踩