Linux系统服务 三 - FTP服务原理及vsftpd服务配置

Linux系统服务 3 ---- FTP服务原理及vsftpd服务配置


 1 FTP

    1 FTP是一个相当古老并且应用极为广泛的互联网协议,FTP为我们提供了一种可靠的方式在网络上进行文件共享

    2 FTP是一种CS架构的服务,拥有一个服务端和客户端,FTP使用TCP协议作为底层传输协议,提供了数据传输的可靠性,FTP的标准端口为20,21,20做为数据接口,21为指令接口

    3 所有的共享的文件都是放在服务端 


 2 FTP模式

    FTP客户端和服务端连接有两种模式

     1 主动模式:指的是假设客户端要向服务端请求文件共享的时候,首先客户端先发送一个请求到服务的21号端口,然后服务端返回一个指令要求客户端要做什么,接下来服务端通过20端口把数据发给客户端

     2 由于现在的计算机很多都是有防火墙,很多由外网连接进来的都会被拒绝,因此现在开发了被动模式

     Linux系统服务 三 - FTP服务原理及vsftpd服务配置

 

   2 被动模式: 指的是假设客户端要向服务端请求文件共享的时候,首先客户端先发送一个请求到服务的21号端口,然后服务端返回一个指令要求客户端要做什么。接下来客户端发送请求到服务端,服务端再把数据发给客户端

      被动模式适合于现在绝大多数的有设置防火墙的主机

      Linux系统服务 三 - FTP服务原理及vsftpd服务配置


 3 vsftpd

     1 在Linux中应用作为广泛的FTP服务程序叫做vsftpd,vsftpd为我们提供了一个快速,稳定的并且相当安全的FTP服务

     2 使用以下命令来安装vsftpd

         yum install -y vsftpd

     3 vsftpd的相关配置文件及目录如下

         /etc/vsftpd/vsftpd.conf           - vsftpd主配置文件

         /etc/vsftpd/ftpusers                - 黑名单

         /etc/vsftpd/user_list               - 控制名单(由配置文件控制是白名单还是黑名单)

          /var/ftp                                      - ftp共享目录

      

 4 FTP用户

     1 vsftpd使用用户作为管理单位,想要访问某个ftp共享文件,必须以特定用户登录,我们可以配置以下几种类型的用户

     2 正常用户 (系统用户)

         匿名用户 (anonymous)        

         虚拟用户 (ftp-ony)

     3 默认情况下,vsftpd在安装的时候会创建一个ftp用户,这个用户就是作为匿名用户使用,ftp用户默认的家目录指向/var/ftp/,任何没有访问限制的文件都可以通过匿名用户共享

     4 每一个系统中的用户都可以通过ftp方式访问自己的家目录


 5 匿名用户共享

    1 vsftpd安装好之后可以直接启动使用,不需要进行任何配置,默认的情况下匿名用户可以登录使用,普通系统中的用户也可以通过ftp方式访问自己的家目录

    2 我们可以通过ftp命令作为ftp客户端使用,通过以下命令安装ftp

       yum install -y ftp

    3 命令ftp默认使用匿名用户登录

       iftp 192.168.1.100

    4 也可以指定用户登录

       iftp -u linuxcast 192.168.1.100


 6 FTP基本命令

    1 使用get命令可以从ftp服务器上下载一个文件

        iftp 192.168.1.100

        cd pub

        get linuxcast.tar.gz

    2 使用put命令可以将一个文件上传到ftp服务器上

        iftp -u linuxcast 192.168.1.100

        cd Downloads

        put linuxcast.tar.gz

    3 只要登录的用户具有对某个文件的写权限,那么就可以进行上传的操作


 7 匿名用户上传

     1 默认情况下,vsftpd只允许匿名用户访问,但是不允许使用匿名用户上传文件,我们可以通过以下方式配置匿名用户上传

     2 修改配置文件开启匿名用户上传功能:

        1 /etc/vsftpd/vsftpd.conf

        2 anonymous_enable = YES    开启匿名用户

           anon_upload_enable = YES    打开匿名用户上传功能

           anon_mkdir_write_enable = YES    打开匿名用户创建文件夹功能

      3 赋予匿名用户上传使用的文件夹以写权限

         chmod 777 /var/ftp/pub