其实简单的配置比较容易,只需要原配置文件上进行调整下就可以使用,以下参考了网上的配置进行对vsftpd虚拟用户登录配置

 

以下操作都是在 root 用户下

查询是否已安装vsftpd

rpm -eq|grep vsftpd

卸载  yum erase vsftpd

安装 yum install vsftpd

chkconfig --level 35 vsftpd on  //将vsftp配置为系统服务

 

注:配置项中不允许有空格,否则的启动或登录时报:vsftpd:500 OOPS: bad bool value in config file for:xxxx 这样的错误

第二步:配置vsftpd服务的宿主 
#useradd vsftpdadmin -s /sbin/nologin 
 这个vsftpdadmin只是用来替换root的,并不需要登录第三步:建立ftp虚拟宿主帐户 #useradd ftpuser -s /sbin/nologin 
 这ftpuser只个虚拟帐户的宿主,本身是不用登录的第四步:配置vsftpd.conf 
 更改配置前最好备份一下然后再改 
vim /etc/vsftpd/vsftpd.conf 修改下面红色字体的部分为蓝色字体的形式,紫色字体是配置原有的 
anonymous_enable=YES  --> anonymous_enable=NO   //不允许匿名用户访问,默认是允许。 
#chroot_list_enable=YES  -->   chroot_list_enable=YES      //不允许FTP用户离开自己主目录,默认是被注释掉的。 
#chroot_list_file=/etc/vsftpd/chroot_list -->  chroot_list_file=/etc/vsftpd/chroot_list  //如果开启了chroot_list_enable=YES,那么一定要开启这个,这条是锁定登录用户只能家目录的位置,如果不开启用户登录时就会报500 OOPS的错。 
注意:/etc/vsftp/chroot_list本身是不存在的,这要建立vim /etc/vsftp/chroot_list,然后将帐户输入一行一个,保存就可以了
local_enable=YES      //允许本地用户访问,默认就是YES,不用改 
write_enable=YES     //允许写入,默认是YES,不用改
local_umask=022       //上传后文件的权限掩码,不用改
dirmessage_enable=YES //开启目录标语,默认是YES,开不开无所谓,我是默认就行
xferlog_enable=YES    //开启日志,默认是YES,不用改 
connect_from_port_20=YES   //设定连接端口20 
xferlog_std_format=YES   //设定vsftpd的服务日志保存路径,不用改
(这步后面要有几个操作才能运行,也就是touch这个文件(见第五步),因为它本身不存在,而且还要给文件写入的权限)#idle_session_timeout=600  --> idle_session_timeout=600  //会话超时,客户端连接到ftp但未操作,默认被注释掉,可根据个人情况修改
#async_abor_enable=YES  -->    async_abor_enable=YES     //支持异步传输功能,默认是注释掉的,去掉注释 
#ascii_upload_enable=YES  -->    ascii_upload_enable=YES   //支持ASCII模式的下载功能,默认是注释掉的,去掉注释 
#ascii_download_enable=YES  -->    ascii_download_enable=YES   //支持ASCII模式的上传功能,默认是注释掉的,去掉注释 
#ftpd_banner=Welcome to blah FTP service  //FTP的登录欢迎语,本身是被注释掉的,去不去都行
#chroot_local_user=YES  -->  chroot_local_user=YES    //禁止本地用户登出自己的FTP主目录,本身被注释掉,去掉注释 
pam_service_name=vsftpd  //设定pam服务下vsftpdd的验证配置文件名,不用改
userlist_enable=YES    //拒绝登录用户名单,不用改 
TCP_wrappers=YES 
 
 
以下为配置虚拟用户登录
 
guest_enable=YES    //设定启用虚拟用户功能。
guest_username=ftpuser   //指定虚拟用户的宿主用户。 
virtual_use_local_privs=YES   //设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf 
第五步:建立日志文件 
#touch /var/log/vsftpd.log    //日志文件 
#chown vsftpdadmin.vsftpdadmin /var/log/vsftpd.log第六步:建立虚拟用户文件 
 #mkdir /etc/vsftpd/vconf/ 
 #touch /etc/vsftpd/vconf/vir_user第七步:建立虚拟用户 #vim /etc/vsftpd/vconf/vir_user 
virtualuser           //用户名 
 12345678           //密码注意:第一行用户名,第二行是上一行用户名的密码,其他人的以此类推
第八步:生成数据库 
#db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db第九步:设置数据库文件的访问权限 
#chmod 600 /etc/vsftpd/vconf/vir_user.db 
 #chmod 600 /etc/vsftpd/vconf/vir_user第十步:修改/etc/pam.d/vsftpd内容 
echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" > /etc/pam.d/vsftpd
 echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >>  /etc/pam.d/vsftpd注:/etc/pam.d/vsftpd 内容中只有以上二行数据

第十步:创建用户的配置文件 
注意:用户配置文件的名字要和创建的“虚拟用户”名字对应 
#touch /etc/vsftpd/vconf/virtualuser 
 #vim /etc/vsftpd/vconf/virtualuser #以下为虚拟用户的登录配置(不允许有空格,当时设置时有空格查了好久)
 
local_root=/home/virtualuser           //虚拟用户的个人目录路径
anonymous_enable=NO
 write_enable=YES 
 local_umask=022 
 anon_upload_enable=NO 
 anon_mkdir_write_enable=NO 
 idle_session_timeout=600 
 data_connection_timeout=120 
 max_clients=10 
max_per_ip=5
 local_max_rate=1048576
第十一步:建立虚拟用户目录 
 如果不建立虚拟用户的个人目录,那么所有的虚拟用户登录后所在的目录都是同一个目录下 
 # mkdir /home/virtualuser 
 # chown ftpuser.ftpuser ./virtualuser 
 # chmod 600 /home/virtualuser 
 配置就此完成,如果想增加新的用户,只要按照上面的第七步、第十步进行就可以了