Debian系统使用vsftpd实现多用户管理,步骤如下:
安装vsftpd
sudo apt update && sudo apt install vsftpd
配置基础权限
编辑配置文件 /etc/vsftpd.conf
,启用本地用户登录、写权限及chroot限制:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
创建系统用户
为每个FTP用户创建系统账户(可禁止SSH登录):
sudo adduser ftpuser1 # 创建用户
sudo passwd ftpuser1 # 设置密码
sudo usermod -s /sbin/nologin ftpuser1 # 禁止SSH登录(可选)
sudo chown -R ftpuser1:ftpuser1 /home/ftpuser1 # 设置家目录权限
sudo chmod 755 /home/ftpuser1
(可选)虚拟用户管理
sudo touch /etc/vsftpd/virtual_users.txt
echo "user1:password1" | sudo tee -a /etc/vsftpd/virtual_users.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
/etc/pam.d/vsftpd
,添加:auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users
/etc/vsftpd.conf
中设置:guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
重启服务生效
sudo systemctl restart vsftpd
测试连接
使用FTP客户端(如FileZilla)输入用户名/密码登录,验证是否限制在各自家目录。
说明:
max_clients
、max_per_ip
等参数控制并发连接数。