[root@hys ~]# uname -a

Linux hys 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

这是我的操作系统的版本信息

  1. 检查是否已经安装vsftp

    [root@hys ~]# rpm -qa | grep vsftp

    vsftpd-3.0.2-22.el7.x86_64

    如果显示如上说明已经安装vsftp,否则继续安装。

  2. 执行以下命令安装vsftp

    yum install vsftp -y

  3. 检查是否已经安装成功

    #rpm -qa | grep vsftp

    如果安装成功进行下一步

  4. 备份配置文件

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

  5. 配置vsftp

    默认情况下是可以匿名登陆的,以下是我的文件配置情况。

    vi /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO # 不允许匿名登陆

    local_enable=YES # 可以本地登陆

    local_root=/ftpservice/localusers # 本地登陆后的家目录

    write_enable=YES # 是否允许上传或者修改文件

    local_umask=022 # 上传后的权限掩码

    anon_upload_enable=YES # 允许匿名用户上传文件

    anon_mkdir_write_enable=YES # 允许匿名用户创建目录

    dirmessage_enable=YES # 开启目录标语

    connect_from_port_20=YES # 通过端口20创建你链接

    xferlog_enable=YES # 可以生成日志文件

    xferlog_file=/etc/vsftpd/vsftpd.log # 指定存放日志的文件

    xferlog_std_format=YES # 设置日志存放格式

    ftpd_banner=Welcome to blah FTP service. # 登陆后的欢迎信息(但是我没看到过)

    anon_root=/ftpservice/anon # 匿名登陆后的家目录

    anon_mkdir_write_enable=YES # 允许匿名用户创建文件夹

    anon_other_write_enable=YES # 允许匿名用户重命名或者删除

    chroot_local_user=YES # 启用禁止更换根目录

    listen=YES # 与监听有关的设置

    pam_service_name=vsftpd # 登陆规则检查

    userlist_enable=YES # 用户限制登陆列表

    userlist_deny=YES

    tcp_wrappers=YES # 使用tcp 协议传送数据

    guest_enable=YES # 开启虚拟用户功能

    guest_username=ftpuser1 # 指定虚拟用户的的宿主用户

    virtual_use_local_privs=YES

    user_config_dir=/etc/vsftpd/vconf # 虚拟用户配置文件存放目录

    allow_writeable_chroot=YES #

  6. 创建本地用户

    useradd ftpuser

    useradd ftpuser1 # 本文将其作为虚拟用户的宿主用户

    useradd ftpuser2

  7. 创建本地用户家目录

    mkdir -p /ftpservice/localusers

    修改拥有者

    chown ftpuser:ftpuser /ftpservice/

    修改权限

    chmod -R 755 /ftpservice/

  8. 创建日志文件

    touch /etc/vsftpd/vsftpd.log

    在此处存放的虚拟用户配置文件名称与对应的虚拟用户名相同

  9. 创建虚拟用户文件

    touch /etc/vsftpd/vusers

    编辑(奇数行是用户名,偶数行是上一行用户名的密码)

    # cat /etc/vsftpd/vusers

    test

    123456

    user1

    user1

  10. 生成用户数据文件

    # db_load -T -t hash
    -f /etc/vsftpd/vusers /etc/vsftpd/vusers.db

    # chmod 600 /etc/vsftpd/vusers.db # 修改访问权限

    # chmod 600 /etc/vsftpd/vusers # 修改访问权限

  11. 创建虚拟用户配置文件存放目录

    # mkdir /etc/vsftpd/vconf

  12. 创建虚拟用户配置文件并进行配置(文件名称与虚拟用户名称相同)

    # cd /etc/vsftpd/vconf

    # touch test

    # vi test

    local_root=/ftpservice/virtual/test1 # 虚拟用户的家目录

    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=50000

  13. 创建虚拟用户家目录

    # mkdir /ftpservice/virtual/test1

    # chown -R ftpuser1:ftpuser1 /ftpservice/virtual

    # chmod -R 755 /ftpservice/virtual/test1

  14. 修改/etc/pam.d/vsftpd文件。

    在文件最前面假如以下内容

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vusers

  15. 配置完成后启动vsftp
    1. 启动

      # systemctl start vsftpd.service

    2. 检查状态

      # systemctl status vsftpd.service

      ● vsftpd.service - Vsftpd ftp daemon

      Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)

      Active: active (running) since Fri 2018-06-22 10:11:30 CST; 8min ago

      Process: 3271 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)

      Main PID: 3272 (vsftpd)

      CGroup: /system.slice/vsftpd.service

      └─3272 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

       

      Jun 22 10:11:30 hys systemd[1]: Starting Vsftpd ftp daemon...

      Jun 22 10:11:30 hys systemd[1]: Started Vsftpd ftp daemon.

       

      如果显示状态如上,表示已正在运行。

  16. 在另一电脑上输入ftp://本机IP即可登陆。
  17. 如所有方式都无法登陆检查防火墙和SELinux是否关闭
    1. 关闭防火墙

      # systemctl stop vsftpd.service

    2. 设置成开机不启动

      # systemctl disable firewalld.service

    3. 关闭SELinux

      # setenforce 0

      查看selinux状态

      # getenforce

      永久关闭

      # cat /etc/selinux/config

       

      # This file controls the state of SELinux on the system.

      # SELINUX= can take one of these three values:

      # enforcing - SELinux security policy is enforced.

      # permissive - SELinux prints warnings instead of enforcing.

      # disabled - No SELinux policy is loaded.

      SELINUX=enforcing # 此处换为disabled

      # SELINUXTYPE= can take one of three two values:

      # targeted - Targeted processes are protected,

      # minimum - Modification of targeted policy. Only selected processes are protected.

      # mls - Multi Level Security protection.

      SELINUXTYPE=targeted

       

       

       

       

      搭建心得:

      1. FTP服务器:支持FTP协议的服务器就是FTP服务器
      2. FTP是Fire Transfer Protocol(文件传输协议)的简称
      3. 功能是跨多操作系统文件传输
      4. 结构:基本程序+配置文件(vsftp.conf)+登陆验证文件(/etc/pam.d/vsftp)
      5. Vsftp在vsftp.conf中的配置主要涉及到匿名用户的配置、本地用户的配置、虚拟用户的配置、对计算机资源使用的相关配置(如client数量的限制等)
      6. 对用户的配置主要有访问权限的配置、上传下载权限的配置、对某个目录访问权限的配置等
      7. 本人觉得使用虚拟用户进行登陆,能够隐藏本地用户名称,对本机安全起到了有效的作用

      以上为对本人vftp搭建的回顾总结,如有疑问欢迎交流。

      注:本文是在下学习网上各位前辈分享的相关知识的成果,在此对各位前辈表示感谢。

Vsftp搭建 for centos7的更多相关文章

  1. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 四

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  2. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 三

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  3. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 二

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  4. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  5. 个人智能家居系统 - MQTT服务器搭建(centOS7.3)

    个人智能家居系统 - MQTT服务器搭建(centOS7.3) 0x00 参考 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能 mos ...

  6. linux下使用vsftp搭建FTP服务器:匿名登录,账号登录,SSL加密传输

    目录 一.关于FTP和VSFTP 二.ftp.sftp.vsftp.vsftpd的区别 三.项目一:搭建一台所有人都可以访问的通用FTP服务器 3.1 项目要求 3.2 项目思路分析 3.3 使用vs ...

  7. MacOS上通过虚拟机搭建基础CentOS7系统环境

    MacOS上通过虚拟机搭建基础CentOS7系统环境 尽管从Mac的Terminal可以看出,macOS与UNIX.Linux或多或少都有血缘关系(shell.bash等),但是在mac进行Linux ...

  8. VM虚拟机搭建Linux CentOS7(手把手教程)

    VM虚拟机搭建Linux CentOS7(手把手教程) 目录 VM虚拟机搭建Linux CentOS7(手把手教程) 一.VM虚拟机和Linux镜像文件下载 1. 登录VM虚拟机官方地址: 2. 安装 ...

  9. 详解CentOS7安装配置vsftp搭建FTP

    安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用.想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这 ...

随机推荐

  1. 原创科幻短篇《VR》

    近些年VR很火,现在似乎又降温了,那么问题来了:VR到底有前景吗?我农村来的读书又少看不清楚哇.近些年房地产很火,现在似乎还是很火,那么问题来了:房价到底会降吗?我农村来的读书又少看不清楚哇. 以下正 ...

  2. java设计模式三种工厂模式简单介绍

    一.简单工厂模式 概述:简单工厂模式的创建意图就是,把对类的创建初始化全都交给一个工厂来执行,而用户不需要去关心创建的过程是什么样的,只用告诉工厂我想要什么就行了.而这种方法的缺点也很明显,违背了设计 ...

  3. vue 的rem 配置和flexible.js的应用

    1.环境的配置: C:\Windows\System32\drivers\etc 2.多行注释: 光标放在函数中间,连按两次:“Ctrl+Alt+D”,就会出现以下的内容 3.总结使用过程:vue移动 ...

  4. C++中常用的std标准容器

    从c++11标准以来,c++中std定义的几种容器的效率非常高,优化的非常好,完全没有必要自己去定义类似的数据结构.了解使用它们,可以满足90%的日常编程需要.该篇文章基于c++11标准,从用户角度来 ...

  5. laravel5.8笔记二:部署

    部署项目之前需要知道的几件事 1.有几个模块(admin,index,wap,api) 2.有几个数据库(mysql1,mysql2,mysql3) 3.有那些缓存(redis1,redis2,red ...

  6. iOS开发之--单个页面禁止右滑返回操作

    禁止右滑: if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) ...

  7. 我的海外购页面List

    <%@ page language="java" contentType="text/html;charset=UTF-8" %> <%@ t ...

  8. 使用RecyclerView设置自定义分割线

    在安卓开发中,RecyclerView控件来做一些列表是非常方便的,如何使用在网上很多文章,这次着重来说一下怎么设置自定义分割线: 首先,我们来看一下怎么设置默认的分割线 RecyclerView m ...

  9. git bash here右键菜单

    Windows Registry Editor Version 5.00 ; Open files[HKEY_CLASSES_ROOT\*\shell\gitbash]@="gitbash& ...

  10. pycharm 2018.1 激活

    pycharm 2018.1 License server 填入 https://jetlicense.nss.im/ 激活没有问题 测试时间 2018.4.18