在CentOS上配置VSFTPD以使用虚拟用户需要以下几个步骤:
sudo yum install vsftpd
sudo touch /etc/vsftpd/virtusers.txt
sudo vi /etc/vsftpd/virtusers.txt
在文件中添加虚拟用户的用户名和密码,每行一个用户,格式如下:
username1
password1
username2
password2
保存并退出。
sudo mkdir /etc/vsftpd/virtusers
sudo touch /etc/pam.d/vsftpd-virtusers
sudo vi /etc/pam.d/vsftpd-virtusers
在文件中添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/virtusers.txt
account required pam_userdb.so db=/etc/vsftpd/virtusers.txt
保存并退出。
sudo vi /etc/vsftpd/vsftpd.conf
在文件中添加或修改以下配置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd-virtusers
保存并退出。
sudo useradd -d /home/virtuser -s /sbin/nologin virtuser
sudo passwd virtuser
按照提示输入虚拟用户的密码。
echo "virtuser" | sudo tee -a /etc/vsftpd/chroot_list
sudo systemctl restart vsftpd
现在,您应该可以使用虚拟用户登录FTP了。请注意,这里的示例配置仅适用于单个虚拟用户。如果您需要支持多个虚拟用户,请确保为每个用户创建单独的主目录,并在/etc/vsftpd/virtusers.txt
文件中添加相应的用户名和密码。