“FTP服务器的工作原理”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
第74行: 第74行:
  
 
参考文档: https://www.aliyun.com/zixun/content/2_6_518621.html
 
参考文档: https://www.aliyun.com/zixun/content/2_6_518621.html
 
返回 [[Linux基础]]
 

2018年11月21日 (三) 06:31的版本

FTP服务

跨平台传送文件的一种方式,可实现将web站点所需的文件上传到远程得web服务器,或者从服务器下载到本地。

根据服务的对象不同,可分为:匿名服务器与系统FTP服务器


Linux8-1.png

两种连接方式:

控制连接

控制连接主要用来传送在实际通信过程中需要执行的FTP命令以及命令的响应。

数据连接

数据连接是等到传输文件时才临时建立的

FTP的工作体系

服务器与客户机之间利用TCP的21号端口建立控制连接;利用20号端口建立数据连接;

具体工作过程如下:

  • 客户机启动客户端程序,请求建立服务器的连接
  • 服务器对客户机进行身份验证
  • 进行相应目录操作和数据传输
  • 断开连接

FTP的数据传输模式

主动传输模式 (Active FTP)

FTP的数据连接和控制连接的方向是相反的。 也就是说,当客户机发出请求之后,是服务器向客户端发起一个用于数据传输的连接。

被动传输模式 (Passive FTP)

FTP的数据连接和控制连接的方向是一致的。 也就是说,当客户机发出请求之后,是客户端向服务器发起一个用于数据传输的连接。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况。

FTP服务的使用者

本地用户(real用户)

本地用户既可以登录Shell,又可以FTP登录。
本地用户可以通过输入自己的账号和口令来进行授权登录。
当授权访问的本地用户登录系统后,其登录目录为用户自己的家目录($HOME)。

虚拟用户(guest用户)

如果用户在远程FTP服务器上拥有账号, 且此账号只能用于文件传输服务,则称此用户为虚拟用户或Guest用户。
虚拟用户可以通过输入自己的账号和口令来进行授权登录。
当授权访问的虚拟用户登录系统后,其登录目录为服务器为其指定的目录。
eg:adduser  -s /sbin/nologin  -g  ftp  username

匿名用户(anonymous用户)

如果用户在远程FTP服务器上没有账号,则称此用户为匿名用户。
若FTP服务器提供匿名访问功能,则匿名用户可以通过输入账号(anonmous或ftp) 和口令(用户自己的E-Mail地址)来进行登录。
当匿名用户登录系统后,其登录目录为匿名FTP服务器的根目录(/var/ftp)。


Linux下常见的FTP软件

Vsftpd

Red Hat 中自带了一个高安全性的FTP服务器

Proftp

一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发、发布的免费软件

Wu-ftp

WashingtonUniversity FTP,它是一个著名的FTP服务器软件,它功能强大,能够很好地运行于众多的UNIX操作系统

参考文档: https://www.aliyun.com/zixun/content/2_6_518621.html