一、 检查服务器是否已经安装

#rpm  -qa  |grep   vsftpd

二、安装
如果输入上面的命令提示没有,那么进行安装

#yum install  -y  vsftpd

三、检查服务是否正常启动
1、启动 vsftp 服务

#systemctl   start  vsftpd


2、检查服务是否正常启动

#ps -ef|grep vsftpd

centos7 修改vsftpd的默认根目录 centos配置vsftp_主目录

这个表示ftp 已经正常启动
3、把服务添加到开机启动项

#systemctl   enabled  vsftpd


四、修改 配置文件
1、进到安装vsftpd安装目录

#cd  /etc/vsftpd


2、编辑 vsftpd.conf 配置文件 

# vi vsftpd.conf  修改 一下几个地方


分别打开:
  

anonymous_enable=NO 
       write_enable=YES  
       local_enable=YES   
       chroot_local_user=YES 
       pam_service_name=vsftpd:
       listen=no


添加一下 内容:

userlist_enable=YES
 tcp_wrappers=YES
 allow_writeable_chroot=YES
 anon_root=/home/test


保存退出

五、配置文件说明
配置的选项及说明
1、 核心设置 

local_enable=YES    //允许本地用户登录
  write_enable=YES   //本地用户的写权限
  local_umask=022    //使用FTP的本地文件权限,默认为077,一般设置为022
  pam_service_name=vsftpd   //验证方式
  connect_from_port_20=YES  //启用FTP数据端口的数据连接
  listen=yes               // 以独立的FTP服务运行
  listen_port=23          //修改连接端口


2、匿名登录设置

anon_upload_enable=YES         // 如果允许匿名登录,是否开启匿名上传权限
  anon_mkdir_write_enable=YES   //如果允许匿名登录,是否允许匿名建立文件夹并在文件夹内上传文件
  anon_other_write_enable=yes   // 如果允许匿名登录,匿名帐号可以有删除的权限
  anon_world_readable_only=no    //如果允许匿名登录,匿名的下载权限,匿名为Other,可设置目录/文件属性控制
  anon_max_rate=30000            // 如果允许匿名登录,限制匿名用户传输速率,单位bite


3、限制登录  

userlist_enable=yes      //用userlist来限制用户访问
 userlist_deny=no          //名单中的人不允许访问
 userlist_file=/etc/vsftpd/userlist_deny.chroot     //限制名单文件放置的路径


4、限制目录

chroot_local_user=yes   //限制所有用户都在家目录
  chroot_list_enable=YES   //调用限制在家目录的用户名单
  chroot_list_file=/etc/vsftpd/chroot_list   //限制在家目录的用户名单所在路径


 
5、日志设置

xferlog_file=/var/log/vsftpd.log   //日志文件路径设置
 xferlog_std_format=YES    // 使用标准的日志格式


6、安全设置 

idle_session_timeout=600  //用户空闲超时,单位秒
   data_connection_timeout=120   //数据连接空闲超时,单位秒
   accept_timeout=60    //将客户端空闲1分钟后断开
   local_max_rate=10000  //本地用户传输速率,单位bite
   max_clients=100      //FTP的最大连接数
   max_per_ip= 3       //每IP的最大连接数


  
7、被动模式设置

pasv_enable=yes     //是否开户被动模式
   pasv_min_port=3000   // 被动模式最小端口
   pasv_max_port=5000  //#被动模式最大端口


六 、如没有创建用户和路径需要创建要和指定用户路径

如:

mkdir       /home/ftp
  useradd -d /home/ftp -s /sbin/nologin test


给相应的权限 

chowm -R test:test    /home/ftp

七、测试
使用ftp 客户端工具 连接测试
1、如果测试的有报500 错误 
如:  vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误 
 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误
原因是因为从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
 解决这个错误的方法,可以用命令chmod a-w /home/test去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:allow_writeable_chroot=YES

2、如果ftp出现乱码,这个时候先检查是不是ftp 客户端设置的问题,如不是 则检查服务器。
FlashFXP 4.2.1,选择【站点】-【站点管理器】-【站点列表】-【快速连接】,选择使用的连接,点击【选项】-【字符编码】-【UTF-8】问题 解决。

ftp 安装完毕