zoukankan      html  css  js  c++  java
  • Vsftp搭建 for centos7

    [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搭建的回顾总结,如有疑问欢迎交流。

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

  • 相关阅读:
    win10 mysql5.7忘记密码如何解决
    win10 mysql5.7指定某个配置文件启动
    kubernetes配置(kubeconfig)对多集群的访问
    kubernetes中kubeconfig的用法
    rancher v2.2.4创建kubernetes集群出现[etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy
    kubernetes 强制删除istio-system空间,强制删除pod
    rancher2.0 自定义应用商店(catalog)
    docker-compose安装及docker-compose.yml详解
    细述kubernetes开发流程
    轻松了解DNS劫持
  • 原文地址:https://www.cnblogs.com/hongyunshui666/p/9214002.html
Copyright © 2011-2022 走看看