CentOS7-FTP服务安装配置及文件说明

FTP服务

FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一,我们现在也一直有在用着FTP协议来进行各种文件的传输,FTP为我们提供了一种可靠的方式在网络上进行文件的共享。

FTP原理

FTP是C/S架构的服务,拥有一个服务器端和一个客户端,FTP底层通过TCP协议来作为传输协议,所以FTP协议是一种可靠的文件传输方式,FTP提供了两个端口号,20和21号端口,20号是数据接口,提供数据之间的传输,21号是命令接口,提供命令之间的传输。
FTP服务端与客户端连接一般有两种模式:主动模式(Active Mode)和被动模式(Passive Mode)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送FTP用户名和密码,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令,告诉服务端客户端采用主动模式并开放了端口。FTP服务器接收到PORT命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在这里插入图片描述
在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,发送用户名和密码进行登陆,同时会开启N+1端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P(端口P的范围是可以设置的,后面会说到这个是很重要的)进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
在这里插入图片描述

FTP状态码

1xx – 肯定的初步答复
这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。
 110 重新启动标记答复。
 120 服务已就绪,在 nnn 分钟后开始。
 125 数据连接已打开,正在开始传输。
 150 文件状态正常,准备打开数据连接。

2xx – 肯定的完成答复
一项操作已经成功完成。客户端可以执行新命令。
 200 命令确定。
 202 未执行命令,站点上的命令过多。
 211 系统状态,或系统帮助答复。
 212 目录状态。
 213 文件状态。
 214 帮助消息。
 215 NAME 系统类型,其中,NAME 是 Assigned Numbers 文档中所列的正式系统名称。
 220 服务就绪,可以执行新用户的请求。
 221 服务关闭控制连接。如果适当,请注销。
 225 数据连接打开,没有进行中的传输。
 226 关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
 227 进入被动模式 (h1,h2,h3,h4,p1,p2)。
 230 用户已登录,继续进行。
 250 请求的文件操作正确,已完成。
 257 已创建“PATHNAME”。

3xx – 肯定的中间答复
该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。
 331 用户名正确,需要密码。
 332 需要登录帐户。
 350 请求的文件操作正在等待进一步的信息。

4xx – 瞬态否定的完成答复
该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。
 421 服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
 425 无法打开数据连接。
 426 Connection closed; transfer aborted.
 450 未执行请求的文件操作。文件不可用(例如,文件繁忙)。
 451 请求的操作异常终止:正在处理本地错误。
 452 未执行请求的操作。系统存储空间不够。

5xx – 永久性否定的完成答复
该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。
 500 语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
 501 在参数中有语法错误。
 502 未执行命令。
 503 错误的命令序列。
 504 未执行该参数的命令。
 530 未登录。
 532 存储文件需要帐户。
 550 未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
 551 请求的操作异常终止:未知的页面类型。
 552 请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
 553 未执行请求的操作。不允许的文件名。

常见的 FTP 状态代码及其原因
 150 – FTP 使用两个端口:21 用于发送命令,20 用于发送数据。状态代码 150 表示服务器准备在端口 20 上打开新连接,发送一些数据。
 226 – 命令在端口 20 上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。
 230 – 客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
 331 – 客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
 426 – 命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。
 530 – 该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS 的配置可能拒绝匿名访问。
 550 – 命令未被执行,因为指定的文件不可用。例如,要 GET 的文件并不存在,或试图将文件 PUT 到您没有写入权限的目录。

安装部署vsftp

通过yum源安装vsftp:

[root@server ~]# yum install -y vsftpd

主配置文件:/etc/vsftpd/vsftpd.conf
主程序:/usr/sbin/vsftpd
常用的全局配置项:
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.x.x:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一 IP 地址的并发连接数
guest_enable=YES:启用虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf :虚拟用户使用的配置文件目录
allow_writeable_chroot=YES:允许写入用户主目录
常用的匿名 FTP 配置项:
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值