在CentOS上设置vsftpd的虚拟用户,可以按照以下步骤进行:
首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
编辑vsftpd的主配置文件 /etc/vsftpd/vsftpd.conf
,确保以下配置项已经设置:
anonymous_enable=NO # 禁止匿名访问
local_enable=YES # 允许本地用户访问
write_enable=YES # 允许本地用户上传文件
chroot_local_user=YES # 将本地用户锁定在他们的主目录中
userlist_enable=YES # 启用用户列表
userlist_file=/etc/vsftpd/ftpusers # 用户列表文件路径
pam_service_name=vsftpd # PAM认证文件名
sudo useradd -m ftpuser
sudo groupadd ftpusers
sudo usermod -aG ftpusers ftpuser
sudo passwd ftpuser
sudo mkdir /home/ftpuser
sudo chown ftpuser:ftpusers /home/ftpuser
sudo chmod 755 /home/ftpuser
sudo mkdir /etc/vsftpd/vuser_conf/ftpuser
sudo vi /etc/vsftpd/vuser_conf/ftpuser
在配置文件中添加以下内容,根据实际需求修改:
local_root=/home/ftpuser
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
sudo db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
其中 /etc/vsftpd/vuser_passwd.txt
文件内容格式为:
ftpuser1 ftppass1
ftpuser2 ftppass2
sudo vi /etc/pam.d/vsftpd
在文件末尾添加以下内容:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接到你的服务器,输入以下信息进行测试:
如果一切配置正确,你应该能够成功登录并访问你的FTP服务器。
通过以上步骤,你就可以在CentOS上成功设置vsftpd的虚拟用户。