在 Debian 上限制 vsftpd 用户通常从以下几个方面入手:
下面按常见需求说明配置方法。
sudo apt update
sudo apt install vsftpd
配置文件路径:
/etc/vsftpd.conf
防止用户跳到系统其他目录
编辑 /etc/vsftpd.conf:
chroot_local_user=YES
allow_writeable_chroot=YES
allow_writeable_chroot=YES允许家目录可写(否则登录失败)
sudo systemctl restart vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
创建用户列表:
sudo nano /etc/vsftpd.user_list
内容示例:
ftpuser1
ftpuser2
重启:
sudo systemctl restart vsftpd
✅ 只有列表中的用户能登录
如果你想 禁止大多数系统用户:
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list
/etc/vsftpd.user_list 中写:
root
www-data
在 /etc/passwd 中修改 shell:
sudo usermod -s /usr/sbin/nologin username
或:
sudo usermod -s /bin/false username
write_enable=NO
或针对用户:
# 配合 chroot 使用
max_clients=50
max_per_ip=3
local_max_rate=102400 # 100KB/s
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.logallow_writeable_chroot如果你能说明 想限制到什么程度(比如:只能上传不能下载 / 只能某 IP 登录 / 虚拟用户),我可以给你更精确的配置。