前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos 7下 FTP 服务器

Centos 7下 FTP 服务器

作者头像
98k
发布2018-04-12 12:10:29
3.2K0
发布2018-04-12 12:10:29
举报
文章被收录于专栏:Django ScrapyDjango Scrapy

MicrosoftInternetExplorer4 0 2 DocumentNotSpecified 7.8 磅

Normal

0

@font-face{ font-family:"Times New Roman"; }

@font-face{ font-family:"宋体"; }

@font-face{ font-family:"Calibri"; }

@font-face{ font-family:"Liberation Serif"; }

@font-face{ font-family:"WenQuanYi Zen Hei Sharp"; }

@font-face{ font-family:"Lohit Devanagari"; }

@font-face{ font-family:"宋体;SimSun"; }

p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-hyphenate:none; mso-pagination:none; font-family:'Liberation Serif'; mso-fareast-font-family:'WenQuanYi Zen Hei Sharp'; mso-bidi-font-family:'Lohit Devanagari'; color:rgb(0,0,10); font-size:12.0000pt; }

span.15{ font-family:Calibri; font-weight:bold; }

span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; }

span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ } div.Section0{page:Section0;}

**3.设置SELinux**** ** 在 Server端设置:输入“# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config”命令是在 “/etc/selinux/config”的目录下将 SELinux永久设置为“disabled”(输入 “# setenforce 0”命令是将 SELinux当前设为“disabled”) ** **,如图5-3所示:

MicrosoftInternetExplorer4 0 2 DocumentNotSpecified 7.8 磅

Normal

0

@font-face{ font-family:"Times New Roman"; }

@font-face{ font-family:"宋体"; }

@font-face{ font-family:"Calibri"; }

@font-face{ font-family:"Liberation Serif"; }

@font-face{ font-family:"WenQuanYi Zen Hei Sharp"; }

@font-face{ font-family:"Lohit Devanagari"; }

@font-face{ font-family:"宋体;SimSun"; }

p.MsoNormal{ mso-style-name:正文; mso-style-parent:""; margin:0pt; margin-bottom:.0001pt; mso-hyphenate:none; mso-pagination:none; font-family:'Liberation Serif'; mso-fareast-font-family:'WenQuanYi Zen Hei Sharp'; mso-bidi-font-family:'Lohit Devanagari'; color:rgb(0,0,10); font-size:12.0000pt; }

span.15{ font-family:Calibri; font-weight:bold; }

span.msoIns{ mso-style-type:export-only; mso-style-name:""; text-decoration:underline; text-underline:single; color:blue; }

span.msoDel{ mso-style-type:export-only; mso-style-name:""; text-decoration:line-through; color:red; } @page{mso-page-border-surround-header:no; mso-page-border-surround-footer:no;}@page Section0{ } div.Section0{page:Section0;}

**3.设置SELinux**** ** 在 Server端设置:输入“# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config”命令是在 “/etc/selinux/config”的目录下将 SELinux永久设置为“disabled”(输入 “# setenforce 0”命令是将 SELinux当前设为“disabled”) ** **,如图5-3所示:

[图片上传中。。。(1)]** ** 图 5-3 设置SELinux** ** 图 5-3 设置SELinux FTP服务是互联网上的常见服务之一,本章主要介绍了FTP服务器的工作原理、工作模式和基本应用,并且重点讲解了在Centos7 下VsFTP服务器的架构及详细配置设置。 5.1 FTP基础 一般来说,用户联网的首要目的就是实现信息共享,文件传输是信息共享非常重要的一个内容之一。Internet上早期实现传输文件,并不是一件容易的事。我们知道 Internet是一个非常复杂的计算机环境,有PC机,工作站,大型机等。这些计算机可能运行在不同的操作系统下,有运行UNIX的服务器,也有运行DOS、WINDOWS的PC机和运行MacOS的苹果机等等。而各种操作系统之间的文件交流问题,需要建立一个统一的文件传输协议,这就是所谓的FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其它的用户环境中获得文件。 5.1.1 FTP简介 FTP即文件传输协议,全称是File Transfer Protocol,顾名思义,它是专门用来传输文件的协议。它支持的FTP功能是网络中最重要,用途最广泛的服务之一。用户可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。以下载文件为例,当启动FTP服务从远程计算机拷贝文件时,事实上启动了两个程序:一个本地机上的FTP客户程序,它向FTP服务器提出拷贝文件的请求;另一个是启动在远程计算机上的FTP服务器程序,它响应用户的请求把指定的文件传送到客户机上。 FTP可将文件从网络上的一台计算机传送到另一台计算机。其突出的优点是可在不同类型的计算机之间传送文件和交换文件,比如在WINDOWS和UNIX、LINUX系统上均可传送。它实现了服务器和客户机之间的文件传输和资源再分配,是普遍采用的资源共享方式之一。FTP服务管理简单,且具备双向传输功能。 FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层,即应用层。它使用TCP协议传输而不是UDP协议,这样,FTP客户端在和服务器建立连接之前就有一个“三次握手”的过程。它的意义在于客户端与服务器之间的连接是可靠的,而且是面向连接的,为数据的传输提供了可靠的保证。另外,FTP服务还有一个非常重要的特点是:它可以独立于平台。也就是说,在UNIX, LINUX, WINDOWS等操作系统中都可以实现FTP的客户端和服务器,相互之间可以跨平台进行文件传送。 5.1.2 FTP工作原理 FTP的工作方式采用客户/服务器模式。客户端和服务器使用TCP进行连接。为建立连接,客户端和服务器都必须各自打开一个TCP端口。FTP服务器预置两个端口:控制端口(端口21)和数据端口(端口20)。控制端口为客户端和服务器之间交换命令和应答提供通信的通道;而数据端口只用来交换数据。其中端口21用来发送和接受FTP的控制消息,一旦建立FTP会话,端口21的连接在整个会话期间就始终保持打开状态;端口20用来发送和接受FTP数据,只有在传输数据时才打开,一旦传输结束就断开。 FTP使用TCP作为传输时的通信协议,因此它可以提供较可靠的面向连接的传输。FTP服务器和客户端计算机数据交换的过程如下: 1.FTP客户端使用Three-Way Handshake与FTP服务器建立TCP交谈。 2.FTP服务器利用TCP 21 连接端口以发送和接收控制信息,这个连接端口主要是用来倾听FTP客户端的连接请求,在交谈建立后,这个连接端口会在交谈时全程启动。 3.FTP服务器端另外使用TCP 20 连接端口以发送和接收FTP文件(ASCII或二进制文件),这个连接端口会在文件传输完立即关闭。 4.FTP客户端在向FTP服务器提出连接请求时会动态指定一个连接端口号码,通常这些客户端指定的连接端口号码是1024—65535,因为0—1023端口(称Well-known Port Number)已由IANA(Internet Assigned Number Authority)预先指定给通信协议或其他的服务使用。 5.当FTP交谈建立后,客户端会启动一个连接端口以连接到服务器上的TCP 21连接端口。 6.当文件开始传输时,客户端会启动另一个连接端口以连接到服务器的TCP 20连接端口,而且每一次文件传输时,客户端都会启动另一个新的连接端口以发送文件。 5.1.3 FTP的两种操作模式:主动模式和被动模式 根据FTP数据连接建立方法,可将FTP客户端对服务器的访问分为两种模式:主动模式又称标准模式(Active Mode)和被动模式(Passive Mode)。 一般情况下使用主动模式,由FTP客户端发起到FTP服务器的控制连接,FTP服务器接收到数据请求命令后,再由FTP服务器发起客户端的连接。具体的讲,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行login、dir等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口(数据通道)向客户的数据端口发起连接。主动模式实际上是一种客户端管理,FTP客户端可以在控制连接上给FTP服务器发送port命令,要求服务器使用port命令指定的TCP端口来建立从服务器上TCP端口21到客户端的数据连接。 如果使用被动模式,将由FTP客户端发起控制和数据连接。被动模式一般用Web浏览器连接FTP服务器。另外,从网络安全的角度看,被动模式比主动模式安全。被动模式实际上是一种服务器管理,FTP客户端发出Pasv命令后,FTP服务器通过一个用作数据传输(连接)的服务器动态端口进行响应,当客户端发出数据连接命令后,FTP服务器便立即使用动态端口连接客户端。 FTP服务器端或FTP客户端都可设置这两种模式。基于IIS的FTP服务同时支持主动模式和被动模式两种连接,但是究竟采用何种模式,取决于客户端指定的方法。 5.1.4 FTP体系结构 FTP是一种C/S(客户端/服务器)的通信协议,因此在两台主机间传递文件时,其中一台必须运行FTP客户端程序,如IE6.0或FTP指令。而文件传递时有两种形式: 下载(Downloading/Getting): 文件由服务器发送到客户端。 上传(Uploading/Putting):文件由客户端发送到服务器。 5.1.5 FTP服务的相关软件及登录形式

  1. FTP服务的相关软件 在LINUX 下实现FTP服务的软件很多,其中比较有名的有WU-FTPD、ProFTPD、vsftpd和.Pure-FTPD等等。vsftpd是UNIX类操作系统上运行服务器的名字。它具有非常高的安全性需求、带宽限制、良好的可伸缩性、创建虚拟用户的可能性、IPV6支持、中等偏上的性能、分配虚拟IP的可能性等其他FTP服务器不具备的功能。所以有“秀外慧中”的美称。 通常,FTP访问服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能进行访问和传输文件等操作。
  2. vsftpd提供了以下3种登录形式 (1)anonymous(匿名账号) anonymous(匿名账号)是应用的最广泛的一种FTP服务器登录。如果用户在FTP服务器上没有账号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录。当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp。为了减轻FTP服务器的负载,一般情况下,应关闭匿名账户的上传功能。 (2)real(真实账户) real(真实账户)也称为本地账号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的账号。用真实账号登录后,其登录的目录为用户自己的目录,该目录在系统建立账号时就已经创建,例如,在Red Hat Linux 9系统中建立一个名称为xxk的用户,那么它的默认目录就是/home/xxk。真实用户可以访问整个目录结构,从而对系统安全构成极大的威胁,所以,应尽量避免用户使用真实账号来访问FTP服务器。 (3)guest(虚拟账号) 如果用户在FTP服务器上拥有一个账号,但此账号只能用于文件传输服务,那么该账号就是guest(虚拟账号)。guest是真实账号的一种形式,他们的不同之处在于,guest登录FTP服务器后,不能访问除宿主目录以外的内容。 3.登录和访问FTP服务器的方式 FTP服务器启动并创建好FTP账户后,登录和访问FTP服务器有2种方式: (1)在Linux的文本模式,利用“ftp 服务器IP地址”命令,以文本方式通过ftp命令来连接和访问FTP服务器。 (2)在浏览器中,利用ftp协议来访问FTP服务器,访问格式为:“ftp://用户名:用户密码@网站域名”或“ftp://用户名@网站域名”。 5.1.6 常用的匿名FTP 匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。 当远程主机提供匿名FTP服务时,会指定某些目录向公众开放,允许匿名存取。系统中的其余目录则处于隐匿状态。作为一种安全措施,大多数匿名FTP主机都允许用户从其下载文件,而不允许用户向其上传文件。也就是说,用户可将匿名FTP主机上的所有文件拷贝到自己的机器上,但不能将自己机器上的任何一个文件拷贝至匿名FTP主机上。即使有些匿名FTP主机确实允许用户上传文件,用户也只能将文件上传至某一指定上传目录中。随后,系统管理员会去检查这些文件,他会将这些文件移至另一个公共下载目录中,供其他用户下载。利用这种方式,远程主机的用户得到了保护,避免了有人上传有问题的文件,如带病毒的文件。 5.2 vsftpd默认配置 FTP服务器利用文件传输协议实现文件的上传与下载服务。VsFTP (very security FTP)意为非常安全的FTP服务器,vsftpd是FTP服务器的一个守护进程,用于具体实现FTP服务器的功能。 5.2.1 安装vsftpd软件包
  3. 安装vsftpd软件包 在Server终端窗口输入:#yum -y install vsftpd命令安装vsftpd软件包,如图5-1所示:

图5-1 系统安装vsftpd软件包.png 2.vsftpd服务的启动脚本 在Server端输入#systemctl start vsftpd命令启动vsftpd服务,输入# systemctl enable vsftpd命令实现开机自启动,如图5-2所示:

图5-2 重启vsftpd服务

图5-2 重启vsftpd服务 3.设置SELinux 在Server端设置:输入# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config命令是在/etc/selinux/config的目录下将SELinux永久设置为disabled(输入# setenforce 0命令是将SELinux当前设为disabled) ,如图5-3所示:

图5-3 设置SELinux.png

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档