ftp服务器项目,ftp服务器项目手册.doc

  • Post author:
  • Post category:其他


博洋教育福州软件人才基地

FTP服务器项目手册

(第1版)

博洋教育学术部 著

目录

第1章项目需求1

1.1引言1

1.1.1编写目的1

1.1.2范围1

1.2项目概述1

1.2.1产品描述1

1.2.2产品功能1

1.2.3一般约束3

1.3项目要求3

1.3.1ftp服务器设计成为一个守护进程3

1.3.2程序必须接受三个参数start,stop,restart3

1.3.3程序要捕获以下信号并做相应处理3

1.3.4要实现的FTP命令列表3

项目需求

引言

编写目的

帮助学员了解项目的功能,明确需求功能中用户对系统要做什么的要求,了解需求中的各种业务规则。

范围

软件的名称:ftp服务器

软件的功能:提供基本的上传下载文件。

项目概述

产品描述

ftp服务器的主要功能是上传下载文件以达到数据共享的目的。在linux底下开发ftp服务器旨在帮助学员综合运用linux初级编程与linux高级编程所学到的知识。如:守护进程的编写,进程间通讯, 管道,socket编程,文件I/O标准库函数与系统调用,以及文件权限管理等等。

产品功能

必需要实现的软件功能表

模块功能说明登录模块本地用户登录验证及权限管理匿名用户登录及权限管理目录操作添加目录删除目录重命名目录返回父目录改变工作目录列出目录短清单列出目录详细清单文件操作删除文件重命名文件RNFR,RNTO文件传输模块上传文件STOR下载文件RETR断点续传REST, APPEftp文件传输两种工作模式主动连接被动连接监控模块统计服务器上传下载了多少文件,返回控制连接的状态一般约束

编程语言:使用标准C编程语言。

运行环境:redhat linux 9

项目要求

ftp服务器设计成为一个守护进程

守护进程是在后台运行不受终端控制的进程。

程序必须接受三个参数start,stop,restart

假定程序可执行文件为myftpd,程序可以用./myftpd start启动,可以用./myftpd stop停止,可以用./myftpd restart重启。

程序要捕获以下信号并做相应处理

SIGHUP

SIGINT

SIGQUIT

SIGTERM

SIGCHLD

要实现的FTP命令列表

命令类型命令功能说明访问控制命令(用于指定访问控制标记)USER服务器上的用户名。PASS用户口令。CWD,XCWD改变工作目录。CDUP回到上一层目录(父目录)REIN重新初始化。此命令终止USER,重置所有参数,控制连接仍然打开,用户可以再次使用USER命令。QUIT退出登录。此命令终止USER,服务器关闭控制连接。传输参数命令(用于在数据传输时设置默认值)PORT数据端口,主要向服务器发送客户数据连接的端口,格式为PORT h1,h2,h3,h4,p1,p2,其中32位的IP地址用h1,h2,h3,h4表示,16位的TCP端口号用 p1,p2表示。PASV此命令要求服务器数据传输进程在随机端口上监听,进入被动接收请求的状态。TYPE文件类型,可指定ASCII码,二进制等。MODE传输模式。命令参数S为流文件(默认值)。服务命令(定义用户请求的文传输或文件系统功能)RETR获得文件STOR保存文件,向服务器传输文件。如果文件已存在,原文件将被覆盖,如果文件不存在,则新建文件。APPE与STOR功能类似,但如果文件在指定路径已存在,则把数据附加到原文件尾部,如果不存在,则新建一个文件。REST重新开始,参数代表服务器要重新开始的那一点,它并不传送文件,而是略过指定点前的数据,此命令后应该跟其他要求文件传输的FTP命令。RNFR重命名ABOR异常终止。此命令通知服务中止以前的FTP命令和与之相关的数据传输。如果先前的操作已完成,则没有动作,返回225;如果没有完成,返回226。DELE删除文件RMD,XRMD删除目录MKD,XMKD新建目录PWD,XPWD打印当前目录LIST列目录详细清单NLST列出目录短清单SYST获取系统信息STAT返回控制连接的状态,服务器上传了多少文件,下载了多少文件SIZE获得文件大小HELP帮助NOOP该命令不指定任何动作,只是要求服务器返回OK响应。