Linux_FTP服务

1.什么是FTP

  FTP(File Transfer Protocol)文件传输协议。本质上是一个应用程序,用于在互联网上控制文件的双向传输,上传和下载。同时具有客户端和服务端。在实战中,我们通常在Linux的主机上创建FTP的服务,同时在我们本地创建FTP的客户端,从而进行连接。

2.什么是VSFTP

  VSFTP(Very Secure FTP)是一个类Unix系统上使用的FTP服务应用程序。是Linux系统下使用最多的FTP服务端,具有很多其他FTP服务不支持的特性。

3.VSFTP服务的特性

  安全性

  带宽设置

  虚拟用户

  高性能

  高速

  支持IPv6

4.VSFTP的安装与模式

  • 安装
    • Redhat、CentOS等使用RPM包的发行版

      yum install vsftpd

      或者下载vsftp的rpm包,通过rpm命令来安装

      rpm -ivh vsftpd*.rpm

    • Debian、Ubuntu等使用DEBB的发行版

     apt-get install vsftpd

    • 源码包安装

      下载源码包

      解包 tar zxvf vsftpd-2.0.3.tar.gz

      进入解包目录 cd vsftpd-2.0.3

      执行安装 make; make install

      将配置文件复制到/etc目录下 cp vsftpd.conf /etc

  • 启动和关闭

    启动 service vsftpd start (或者/etc/init.d/vsftpd start)

    关闭 service vsftpd stop(或者 /etc/init.d/vsftpd stop)

    重启 service vsftpd restart(或者/etc/init.d/vsftpd restart)

    查看服务 service vsftpd status(或者 /etc/init.d/vsftpd status)

  • 传输模式
    • FTP会话的两个通道:控制通道和数据通道
      • 控制通道,是客户端和FTP服务器进行沟通的通道,连接FTP、发送FTP指令
      • 数据通道,是客户端和服务器真正进行文件传输或者列表的通道
    • FTP的两种传输模式
      • PORT模式(主动模式)

          

      • PASV模式(被动模式)

            

    vsftp的服务端大多数情况下同时支持主动和被动传输模式,在数据传输过程中,究竟使用何种传输模式,主要取决于vsftp的的客户端所发送的指令

  • 运行模式
    • 代理模式(xinetd模式)---由xinnetd的21端口进行监听

     代理模式的运行模式多存在与比较新的Linux系统,比如说Redhat以及CentOS,监听21端口,当21端口有数据请求使,xinet的会唤醒vsftpd的服务来处理由21端口发来的请求

      具体设置方法是,在/etc/xinetd.d/vsftp中配置

      disabled = no

      socket_type = stream

      wait = no

      如果在/etc/vsftpd/vsftpd.conf中的有选项为“listen=YES”,注销它之后,重启xinetd (/etc/rc.d/init.d/xinetd restart)

    代理模式的好处是可以节省系统资源,因为xinetd不仅可以代理ftp服务,还可以代理其他很多类似服务,只有在该服务端口的请求时才会唤起端口进程,这样就避免了服务一直在系统的存在,从而有效的利用系统资源。代理模式并非默认模式

    • 独立模式(standalone模式)---由ftp服务监听(默认模式)

     设置方式:

    在/etc/xinetd/vsftp中

    disabled=yes

    修改/etc/vsftpd/vsftpd.conf中Listen=YES

    重启vsftpd服务,service vsftpd restart

    独立模式的进程会一直存在系统内存,作为一个守护进程来监听21端口,21端口有数据请求,主进程会释放一个子进程来处理21端口请求,主进程会继续监听

5.vsftp服务的配置详解

  • SELinux

  SELinux是内嵌在Linux内核中的一个安全管理工具,限制较多,一般运维人员不太喜欢用,相当于一道防火墙。如果不关闭SELinux会影响后续的所有操作,建议关闭。通常存在与RedHat、CentOS等发行版中。

  查看SELinux的状态命令:getenforce

    Enforcing:开启状态

    Permissive:开启警告状态

    Disabled:完全关闭

  关闭SELinux的方法

    临时关闭: setenforce 0

    永久关闭:修改/etc/selinux/config文件

      SETLINUX=disabled

      重启

  • Linux系统下FTP用户管理

    Ftp根据/etc/passwd和/etc/group来进行管理的,同样FTP对权限的管理也遵循Linux系统中的权限设置

  • Ftp的匿名用户

    作用:不需要验证用户名和密码也能够登录并浏览数据

    开启ftp匿名用户:在vsftp主配置文件中修改anonymous_enable=YES保存重启

  • vsftp服务配置详解
    • 主配置文件 /etc/vsftpd/vsftpd.conf
    • 主程序 /usr/sbin/vsftpd
    • Ftp用户黑名单 /etc/vsftpd/ftpusers   

 

 

 

 

 

        

    

 

posted @ 2016-01-18 10:55  行者_2014  阅读(597)  评论(0编辑  收藏  举报