1、安装ftp

yum install vsftpd  -y
systemctl start vsftpd 
systemctl stop firewalld 
systemctl enable vsftpd 
setenforce 0   #关闭selinux或者设置selinux不然会对试验造成影响
lftp ip        ##能登陆并且显示,表示安装成功

2、vsftpd文件信息

/var/ftp     ##默认发布目录

/etc/vsftpd##配置目录

3、vsftpd服务的配置参数

3.1 匿名用户设定

anonymous_enable=YES|NO       ##匿名用户登陆限制
#<匿名用户上传>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
#<匿名用户家目录修改>
anon_root=/direcotry
#<匿名用户上传文件默认权限修改>
anon_umask=xxx
#<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
#<匿名用户下载>
anon_world_readable_only=YES|NO    ##设定参数值为no表示匿名用户可以下载
#<匿名用户删除>
anon_other_write_enable=YES|NO
#<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
#<最大上传速率>
anon_max_rate=102400
#<最大链接数>
max_clients=2

3.2 本地用户设定

local_enable=YES|NO     ##本地用户登陆限制
write_enable=YES|NO     ##本地用户写权限限制
#<本地用户家目录修改>
local_root=/directory
#<本地用户上传文件权限>
local_umask=xxx
#<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#<限制本地用户登陆>
/etc/vsftpd/ftpusers   ##用户黑名单
/etc/vsftpd/user_list  ##用户临时黑名单
#用户白名单设定
userlist_deny=NO        #serlist_deny=YES就是黑名单
/etc/vsftpd/user_list   ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

3.3 一些其他的参数

ascii_upload_enable=YES
ascii_download_enable=YES
#如果启用上面的两项则表示,用二进制传输文件,如果是文本类文件则会导致乱码
listen=YES
#yes表示将其定义为一个独立守护进程,反之则需要定义一个顺时守护进程,需要在 /etc/xinetd.d/写一个脚本
#独立进程,适用用户访问量大,而且在线时间长
#顺时进程,由超级守护继承(xinetd)代为管理,适用于用户访问量小,而且在线时间短
max_clients 
#代表最多可以同时连接多少个客户端
max_per_ip
#每个IP可以同时发起几个连接请求
pam_service_name=vsftpd
#在使用pam做用户认证的时候在/etc/pam.d/下面pam的配置文件的名字
userlist_enable=YES
#在/etc/vsftpd/ftpusers文件中写的用户都禁止登录

3.3 虚拟账户登录

    1》创建虚拟账号身份

vim /etc/vsftpd/loginusers##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
#加密虚拟账号文件
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

    2》修改vsftp配置文件

vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
guest_username=ftpuser   #虚拟帐号身份指定
local_root=/ftpuserhome/$USER
user_sub_token=$USER
chmod u-w /home/ftpuser     #虚拟帐号家目录独立设

   3》创建各个用户的家目录

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}

   4》修改文件使文件,虚拟账号独立

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

注意: /etc/vsftpd/userconf/ftpuser1在此文件中设定配置文件中的所有参数,此文件的优先级高