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版权协议,转载请附上原文出处链接和本声明。