Centos 7下 FTP 服务器

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安智客

GP规范中定义的四种SE访问控制架构

GP规范给人的感觉好像有点晦涩难懂,由于是规范,所以比较抽象,而且GP这个组织的专家们来自世界各地,大家都用英语文档交流,所以不同的文档风格不同,难免大家阅读起...

1992
来自专栏好好学java的技术栈

「文末赠书」http协议简介看这篇就够了

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要...

973
来自专栏F-Stack的专栏

F-Stack Q&A 第一期

Q1:F-Stack有中断模式吗,有计划支持吗?在计算密集型的应用中,轮询模式会占用更多的CPU资源? A1:F-Stack暂时只支持轮询模式,后续会支持中断+...

7345
来自专栏PHP实战技术

一个查看框架源码,一个查找错误的小工具,你用了吗?

日常开发中还在一直var_dump?exit()?,是不是很不便捷,很不方便?今天小梦就给大家讲讲在PHP开发中(划重点:PHP开发,当然其他语言开发也是有类似...

1514
来自专栏企鹅号快讯

Webpack 持久化缓存实践

作者:happylindz https://github.com/happylindz/blog/issues/7 前言 最近在看 webpack 如何做持久化...

3375
来自专栏源哥的专栏

基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(4)-包过滤模块和内容过滤模块

Netfilter是linux2.4内核实现数据包过滤/数据包处理/NAT等的功能框架。它在网络上设置了五个钩(hook),我们可以在我们所需要的一个钩对数据...

912
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第二十七天 SVN使用【悟空教程】

为保障团队开发过程中人员沟通各方面成本的降低,必须使用一种有效的方式减少沟通环节,提高开发效率,对资源的共享进行管理。

1811
来自专栏HTML5学堂

Gulp 定制专属提速“外挂”(下)

友情提示:推荐阅读时间10分钟 + 练习时间10分钟 上一期给大家分享了Gulp插件的安装与使用,只要掌握了Gulp插件安装的流程与配置,对于其他Gulp插件的...

3118
来自专栏程序员叨叨叨

【9】全民博客时代的到来——20分钟简要教程

很久以前就想搭建一个个人技术博客的网站了,但是那时候接触的东西不多,没有听说过hexo、jekyll、wordpress等快速blog生成工具,自己在网上找了博...

1323
来自专栏好好学java的技术栈

http简介看这篇就够了

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要...

1132

扫码关注云+社区

领取腾讯云代金券