安装vsftpd
sudo apt update && sudo apt install vsftpd
创建系统用户
sudo adduser ftpuser # 按提示设置密码和信息
sudo passwd ftpuser # 修改密码(可选)
删除用户
sudo deluser ftpuser # 删除系统用户及FTP权限
sudo rm -rf /home/ftpuser # 删除主目录(谨慎操作,建议先备份)
限制用户主目录(chroot)
编辑配置文件 /etc/vsftpd.conf
:
chroot_local_user=YES # 限制用户仅能访问主目录
allow_writeable_chroot=YES # 允许主目录可写(需配合chroot使用)
启用/禁用用户权限
/etc/vsftpd.conf
中添加 userlist_enable=YES
,并在 /etc/vsftpd.user_list
中添加用户名。sudo usermod -L ftpuser # 锁定
sudo usermod -U ftpuser # 解锁
创建虚拟用户
sudo touch /etc/vsftpd/virtusers # 创建虚拟用户文件
sudo echo "ftpuser1:password1" >> /etc/vsftpd/virtusers # 添加用户名和密码(明文,需后续加密)
sudo db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db # 生成数据库文件
sudo chmod 600 /etc/vsftpd/virtusers.db
配置虚拟用户权限
在 /etc/vsftpd.conf
中添加:
guest_enable=YES
guest_username=ftpuser # 指定虚拟用户宿主
user_config_dir=/etc/vsftpd/user_config # 虚拟用户配置目录
为每个虚拟用户创建配置文件(如 /etc/vsftpd/user_config/ftpuser1
):
local_root=/home/ftpuser1_ftp
write_enable=YES
sudo systemctl restart vsftpd # 重启服务使配置生效
sudo ufw allow 21/tcp # 开放FTP端口(默认21)
注意:
/etc/pam.d/vsftpd
配置正确。ssl_enable=YES
)。