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 到您没有写入权限的目录
这种错误跟http协议类似,大致是:
2开头---成功
3开头---权限问题
4开头---文件问题
5开头---服务器问题
eg:
10.5.20.77 UNKNOWN minfx [24/Dec/2011:18:55:40 +0900] "RETR C365_account_open_20111224_2.tsv" 550 -
10.5.20.77 UNKNOWN minfx [24/Dec/2011:18:55:40 +0900] "RNFR /account/C365_account_open_20111224_2.tsv" 350 0
10.5.20.77 UNKNOWN minfx [24/Dec/2011:18:55:40 +0900] "RNTO /account/backup/C365_account_open_20111224_2.tsv" 250 0
10.5.20.77 UNKNOWN minfx [24/Dec/2011:18:57:41 +0900] "RETR C365_account_open_20111224_2.tsv" 226 2343 //成功下载
============================================================
Limit大致有以下动作:
CMD: Change Working Directory 改变目录
MKD: MaKe Directory 建立目录的权限
RNFR:ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD: ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL: 所有权限
LOGIN:是否允许登陆的权限
-----------------------
eg:
<Directory /home/kaoyan>
<Limit WRITE> #不允许写
DenyUser kaoyan
</Limit>
<Limit RMD RNFR DELE RETR> #不允许删除,改名,下载
DenyUser upload
</Limit>
TransferRate RETR 50 user kaoyan
TransferRate STOR 100 user upload
</Directory>
-----------------------
#开起全盘的写权限
<Directory />
AllowOverwrite on
AllowStoreRestart on
<Limit All>
AllowAll
</Limit>
</Directory>#设置ycent用户在upload的限制
#DELE删除权限
#RNFR RNTO重命名权限
#RMD XRMD移动目录权限
<Directory /var/ftp/upload>;
<Limit DELE RNFR RNTO RMD XRMD >;
DenyUser !test
</Limit>
</Directory>
============================================================
评论