vsftp配置虚拟用户登录

1、使用yum安装vsftp

[root@localhost ~]# yum -y install vsftpd

2、创建虚拟用户

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vuser.list

3、设置虚拟用户及密码,行数为单数的为用户,奇数的为密码
在这里插入图片描述
4、创建数据库文件并提高虚拟用户的安全性

[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db

[root@localhost vsftpd]# chmod 600 /etc/vsftpd/vuser.*
[root@localhost vsftpd]# ls -lh /etc/vsftpd/vuser.*
-rw-------. 1 root root 12K Dec 25 20:33 /etc/vsftpd/vuser.db
-rw-------. 1 root root  16 Dec 25 20:30 /etc/vsftpd/vuser.list

5、创建账号

[root@localhost vsftpd]# useradd -s /sbin/nologin -d /var/ftproot lll
[root@localhost vsftpd]# chmod -R 777 /var/ftproot/                  //给予权限

6、创建认证文件

[root@localhost vsftpd]# cd /etc/pam.d/
[root@localhost pam.d]# vim vsftpd

在这里插入图片描述
7、修改主配置文件

[root@localhost pam.d]# cd ..
[root@localhost etc]# cd vsftpd/
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak        //对主配置文件进行备份

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完如下:

[root@localhost vsftpd]# cat vsftpd.conf | grep -v "^$" | grep -v "^#"
anonymous_enable=NO
allow_writeable_chroot=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=022
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
user_config_dir=/etc/vsftpd/users   //需创建user目录,下一步创建
guest_enable=YES
guest_username=lll
userlist_enable=YES
tcp_wrappers=YES
virtual_use_local_privs=YES

8、创建users目录文件并为每一个虚拟用户建立配置文件

[root@localhost vsftpd]# mkdir users
[root@localhost vsftpd]# cd users
[root@localhost users]# vim wyh
anon_mkdir_write_enable=YES
write_enable=YES
anon_world_readable_only=NO               //将左面内容添加至配置文件
anon_other_write_enable=YES
anon_umask=022
local_root=/var/ftproot/admin
[root@localhost users]# vim lxy

anon_world_readable_only=NO
anon_other_write_enable=YES                //同上
anon_umask=022
local_root=/var/ftproot/admin

9、增加权限并注释掉ftpusers下的用户

[root@localhost users]# mkdir /var/ftproot/admin
[root@localhost users]# chown -R lll.lll /var/ftproot/admin/
[root@localhost users]# cd ..
[root@localhost vsftpd]# vim ftpusers
# Users that are not allowed to login via ftp
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
[root@localhost vsftpd]# systemctl stop firewalld             //关闭防火墙
[root@localhost vsftpd]# setenforce 0                                 //降低沙盒等级
[root@localhost vsftpd]# systemctl restart vsftpd            //重启vsftpd服务

验证

[root@localhost vsftpd]# ftp  IP(自己的ip地址)                   //客户端验证
Connected to IP (IP).
220 (vsFTPd 3.0.2)
Name (IP:root): wyh
331 Please specify the password.
Password:
230 Login successful.                    //成功
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

FileZille验证
在这里插入图片描述


版权声明:本文为CSDN_19_Ly原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。