• linux服务基础之ftp服务


    ftp是一种文件传输协议,我们以redhat6.9为服务器系统,来介绍一下ftp服务器,这里我们先介绍一下ftp协议工作的原理

    ftp协议可以在不同类型的计算机之间传输文件,工作流程大致为

    1:客户机向服务器发出请求,同时客户机随机的打开一个大于1024的端口等待与服务器建立连接

    2:ftp服务器在端口21侦听到客户机的请求后,在服务器的21端口和客户机的端口建立一个ftp连接会话

    3:当出现数据请求时,客户机再次随机打开一个大于1024的端口与服务器的20端口开始开始传输数据,传输完毕后,随机端口与20端口均自动关闭

    4:客户机与服务器断开连接,客户机释放第一个建立连接的随机端口

    介绍完工作原理,再来介绍一下工作模式

    ftp有两种模式

    主动模式/被动模式

    主动模式的工作方式

    1:客户机随机打开一个大于1024的端口n,与服务器的21端口进行连接

    2:客户机使用n+1端口对连接进行监视

    3:客户机向服务器发起数据传输,并再次随机打开一个大于1024的端口x

    4:服务器收到数据连接请求后,用20端口与x建立数据连接

    5:传输完毕后断开连接,释放端口x,端口m与服务器的21端口断开连接,释放m

    被动模式的工作方式

    1:客户机随机打开一个大于1024的端口n,与服务器的21端口进行连接

    2:客户机使用n+1端口对连接进行监视

    3:客户机向服务器表明自己处在被动模式

    4:服务器向客户机发送请求,并随机打开一个大于1024的端口x

    5:客户机收到请求后在自己的随机大于1024的端口上与服务器的随机端口x进行数据的传输

    6:传输完毕后断开连接,释放随机端口,客户机端口n与服务器的21端口断开连接,释放服务器的随机端口x

    总结,以上两种工作模式可以看出,区别在于有谁发出请求,如果是客户机主动发起请求,并等待服务器主动通过该请求建立数据连接,则被称为主动模式

    反之,如果是服务器发起请求,并被动的等待客户机来建立数据连接,则为被动模式。
    最明显的一点,服务器下的主动模式与被动模式连接皆为21端口,但数据传输,主动模式下为21端口,而被动模式下为一个随机大于1024的端口

    ftp的用户类型

    1:匿名用户  顾名思义,可以在没有用户名和密码的情况下访问ftp服务器的共享资源

    2:本地用户  这是ftp服务器的本地用户,不仅可以访问ftp服务器的共享资源还可以访问自己的家目录

    3:虚拟用户  非本地用户的ftp用户,相比本地用户,更加安全,虚拟用户只能访问ftp服务器的共享资源,没有操作其他资源的权限

    我们主要以redhat6.9为例,ftp服务器的软件,但我们因此我i们在这里主要说的是vsftp

    ftp服务的配置也非常的简单,ftp服务是一个直接开启就能使用的服务,我们主要介绍匿名用户和本地用户的配置方式

    我们首先可以用

    yum install vsftpd  来下载ftp服务

    chkconfig vsftpd off  设置开机自启

    service vsftpd status  查看ftp服务器当前的状态

    service vsftpd start  开启ftp服务器 (前面说过,ftp服务器不需要任何配置可以直接开启使用) 

    下载完毕后可以使用rpm -ql vsftpd  来查看ftp服务的具体文件路径

    这里需要注意的几个文件

    /etc/vsftpd/vsftpd.conf  ftp服务的主配置文件

    /etc/pam.d/vsftpd  ftp的pam认证文件

    /var/ftp  匿名用户的主目录

    /var/ftp/pub  匿名用户的下载目录

    /etc/vsftpd/ftpusers  禁止使用vsftp的用户列表

    /etc/vsftpd/user_list  禁止或允许使用vsftp的用户列表

    主要就是这些文件的信息

    配置一台匿名ftp服务器

    需要对主配置文件的参数进行修改

    anonymous_enable=yes  允许用户匿名访问ftp服务器

    anon_upload_enable=yes  匿名用户可以上传文件

    anon_mkdir_write_enable=yes  允许匿名用户具有新建文件夹的权限

    配置到此就完成了

    配置一台仅本地用户访问的ftp服务器

    anonymous_enable=no  禁止匿名用户访问

    local_enable=yes  允许本地用户访问

    配置完成

  • 相关阅读:
    解决asp.net丢失session的方法文件
    Asp.net 从客户端中检测到有潜在危险的Request.Form值
    解决 ORA-12154 TNS无法解析指定的连接标识符
    sys用户权限不足,本地登录失败 |ORA-01031 insufficient privileges|
    Android按钮单击事件处理的几种方法(Android学习笔记)
    百度地图自定义放大缩小按钮
    百度地图 JS API开发Demo01
    java微信授权登录传参给redirect_uri 接口,回到原页面,传递多个参数
    利用padding-top/padding-bottom百分比,进行占位和高度自适应
    Rotate Array 旋转数组 JS 版本解法
  • 原文地址:https://www.cnblogs.com/wuhaohao/p/9363627.html
Copyright © 2020-2023  润新知