在CentOS上设置VSFTPD的虚拟用户需要以下几个步骤:
sudo yum install vsftpd
sudo groupadd vuser_group
sudo useradd -M -s /sbin/nologin vuser
这里,-M表示不创建用户主目录,-s /sbin/nologin表示禁止用户登录系统。
sudo passwd vuser
按照提示输入密码。
sudo touch /etc/vsftpd/virtusers.txt
sudo vi /etc/vsftpd/virtusers.txt
在文件中添加以下内容(将vuser替换为你创建的虚拟用户名,将realuser替换为一个实际存在的系统用户):
vuser realuser
sudo touch /etc/pam.d/vsftpd-virt
sudo vi /etc/pam.d/vsftpd-virt
在文件中添加以下内容:
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
在文件中添加或修改以下内容:
guest_enable=YES
guest_username=vuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
pam_service_name=vsftpd-virt
sudo systemctl restart vsftpd
现在,你应该可以使用虚拟用户登录FTP了。请注意,这里的示例仅用于演示目的,实际配置可能需要根据你的需求进行调整。