Linux下搭建FTP服务器

时间:2018-03-13 15:06来源:网络整理 作者:Linux先生 举报 点击:
Linux下搭建FTP服务器 一、搭建环境 阿里云 CentOS 7.3 64位 二、FTP协议基础知识 2.1 简介 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,重庆幸运农场开到晚上几点:而中

本文地址:http://www.kooct.com/news/2018/0313/18528.html
文章摘要:,民用气反垃圾鸡争鹅斗,品而第之匡威建站系统。

Linux下搭建FTP服务器

一、搭建环境

阿里云 CentOS 7.3 64位

二、FTP协议基础知识

2.1 简介

FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文件协议”。用于 Internet 上的控制文件的双向传输。

2.2 FTP的运作流程与使用端口

FTP 的传输使用的是 TCP 传输协议,由于 FTP 服明日之星_蜘蛛资讯网务的特点是数据量大、控制信息相对较少,因此在设计的时分别对控制信息与数据进行处理的方式,这样用于通信的 TCP 连接有两个:控制连接与数据连接。其中,控制连接用于在通信双方之间传输 FTP 命令与响应信息,完成连接建立、身份认证与异常处理等控制操作;数据连接用于在通信双方之间传输文件或目录信息。

FTP支持两种模式:Standard(PORT方式,主动方式),Passive(PASV,被动方式)。

2.2.1 PORT 方式

图1 FTP服务器的 PORT 方式示意图

至于连接的过程是这样的:

(1) 建立命令通道的连接

如上图所示,用户端会随机取一个大于1024以上的端口(port AA)来与FTP服务器端的port 21进行连接,这个过程当然需要经历TCP的三次握手!完成连接后用户端便可透过这个连接来对TCP服务器下达指令,包括查询文件名、下载、上传等等指令都是利用这个通道来下达的。

(2)通知FTP服务器端使用 active 且告知连接的端口号

FTP 服务器的 21 端口主要用在命令下达,但是当关系到数据流时,就不是使用这个连接了。用户端在需要数据的情况下,会告知服务器端需要用什么方式来连接,如果是 PORT 模式时,用户端会先随机启用一个端口(图中的port BB),且通过命令通道告知 FTP 服务器这两个信息,并等待 FTP 服务器的连接。

(3)FTP服务器【主动】向用户端连接

FTP 服务器由命令通道了解用户端的需求后,会主动的由 20 这个端口向用户端的 port BB 连接,这个连接当然也会经历 TCP 的三次握手!此时 FTP 的用户端与服务器端会建立两条连线,分别用在命令的下达与数据的传送。而预设 FTP 服务器端使用的主动连接端口就是port 20。

2.2.2 PASV 方式

图2 FTP服务器的 PASV 方式示意图

(1)用户与服务器建立命令通道

同样的需要建立命令通道,通过三次握手就可以建立起这个通道了。

(2)用户端发出PASV的连接请求

当有使用数据通道的指令时,用户端可通过命令通道发出 PASV 的被动式连接要求(Passive 的缩写),并等待服务器的回应。

(3)FTP服务器启动数据端口,并通知用户端连接

如果你的 FTP 服务器能够处理被动式连接,此时 FTP 服务器会先启动一个端口在监听。这个端口号码可能是随机的,也可以是某一范围的端口,具体看你的 FTP 服务器软件而定。然后你的 FTP 服务器会通过命令通道告知用户端已经启动的端口(图中的 port PASV),并等待用户端的连接。

(4)用户端随机取用大于1024的端口进行连接

然后你的用户端会随机取用一个大于 1024 的端口号来对主机的 po我爱记歌词_蜘蛛资讯网rt PASV 连接。

2.3 用户分类

2.2.1 Real账户

这类用户是指在FTP服务上拥有账号。当这类用户登陆FTP服务器的时候,其默认的主目录就是其账号命名的目录。但是,其还可以变更到其他目录中去。如系统的主目录等等。

2.2.2 Guest用户

在FTP服务器中,我们往往会给不同的部门或者某个特定的用户设置一个帐户。但是,这个账户有个特点,就是其只能够访问自己的主目录。服务器通过这种方式来保障FTP服务上其他文件的安全性。这类帐户,在Vsftpd软件中就叫做Guest用户。拥有这类用户的帐户,只能够访问其主目录下的目录,而不得访问主目录以外的文件。

2.2.3 Anonymous(匿名)用户

这也是我们通常所说的匿名访问。这类用户是指在FTP服务器中没有指定帐户,但是其仍然可以进行匿名访问某些公开的资源。

三、VSFTP

3.1 简介

VSFTP 是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器软件,它的全称是 Very Secure FTP。

3.黑执事_蜘蛛资讯网2 安装

查看是否装有 vsftpd 服务。

rpm -qa | grep vsftpd

若不存在,则使用 yum 命令直接安装:

yum -y install vsftpd

3.3 配置 vsftpd

修改配置文件,默认路径为 /etc/vsf三生三世十里桃花_蜘蛛资讯网tpd/vsftpd.conf,命令如下。

vim /etc/ftpd/ftpd.conf

以下为需要修改或添加的配置项。

anonymous_enable=NO #不允许匿名用户登陆

chroot_list_enable=YES #chroot_list_file 指定文件中指定的用户禁锢在其主目录中

chroot_list_file=/etc/vsftpd/chroot_list

在 /etc/vsftpd 目录下建立文件 chroot_list,命令如下

cd /etc/vsftpd touch chroot_list

在 chroot_list 里添加 FTP 用户的用户名,每个用户一样,这里我添加的用户名为 symind。

3.4 添加 FTP 金刚狼_蜘蛛资讯网用户组及用户

添加一个用户组,这里我命名为 webftp。

groupadd webftp

在用户组中添加用户,并指定用户的主目录。

useradd -g webftp -M -d /home/www -s /sbin/nologin symind

设置密码。

passwd symind

修改目录拥有者。

chown -R symind.webftp /home/www

修改目录权限,vsftp 默认要求如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了。

chmod u=rx /home/www

也可以更改 vsftpd 的配置,allow_writeable_chroot=YES。

参考文献

1. 百度百科 - ftp(文件传输协议) http://www.kooct.com/562/item/ftp/13839?fr=aladdin

2. 百度百科 - VSFTPhttp://www.kooct.com/161/item/VSFTP/2596628?fr=aladdin

3.鳥哥的Linux私房菜 -檔案伺服器之三

4.vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot()错误的解决方法

5.CentOS下vsftp设置、匿名用户&本地用户设置、最终进化_蜘蛛资讯网PORT、PASV模式设置

栏目分类
推荐内容
重庆时时彩现场直播 幸运农场8个多少 重庆时时彩定胆技巧 重庆幸运农场游戏规则 重庆彩票幸运农场技巧
重庆幸运农场开奖水果 幸运农场珠海网 微信农场骗局 重庆幸运农场选5技巧 幸运农场开奖结果走势
幸运农场20选8如何选号 洛克农场是否合法 3d走势图带连线 广州顶射交流qq群 重庆幸运农场胆拖价格
幸运农场三连中 重庆幸运农场app下载 幸运农场水果走势图 幸运农场技巧专家 幸运农场8个多少钱
快乐炸金花 南国彩票论坛 小儿七星茶 体育彩票36选7开奖结果 广东11选5视频
北京pk10走势图 云南十一选五助手下载 北京快乐8开奖直播 真人cs多少钱一位 福建体彩36选7走势图
幸运飞艇直播网站 排列组合计算公式 河南快赢481走势图 八马彩票平台开多久了 北京赛车pk10软件计划
豆豆网幸运28 山东11选5开奖直播 秒速赛车改单 湖北十一选五开奖号码1 极速时时彩怎么赢