安装VSFTPD
sudo apt update && sudo apt install vsftpd
创建系统用户
sudo adduser ftpuser # 按提示设置密码
sudo passwd ftpuser # 修改密码(可选)
设置用户主目录权限
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
编辑配置文件
sudo nano /etc/vsftpd.conf
local_enable=YES
:允许本地用户登录。write_enable=YES
:允许上传文件。chroot_local_user=YES
:限制用户仅能访问主目录。allow_writeable_chroot=YES
:允许chroot目录可写(需与chroot_local_user=YES
配合)。启用用户列表(可选)
sudo nano /etc/vsftpd.user_list
# 添加用户名(每行一个)
ftpuser1
ftpuser2
/etc/vsftpd.conf
中启用:userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO # 允许列表内用户登录
创建虚拟用户数据库
sudo touch /etc/vsftpd/virtusers
echo "virtuser1:password1" | sudo tee -a /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/user_conf/virtuser1
):local_root=/home/virtuser1
write_enable=YES
/etc/vsftpd.conf
中添加:guest_enable=YES
guest_username=ftpuser # 指定虚拟用户宿主
user_config_dir=/etc/vsftpd/user_conf
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接测试,确保用户名、密码及权限配置正确。
anonymous_enable=NO
。/etc/vsftpd.conf
中添加:ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
```。
参考来源: