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

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响应。

ftp服务器项目,ftp服务器项目手册.doc相关推荐

  1. 联想深腾7000高性能服务器,联想深腾高性能服务器产品手册.doc

    联想深腾高性能服务器产品手册 联想深腾高性能服务器产品手册 联想高性能服务器事业部 2010年月 前言 联想与高性能计算4 一.设计理念7 二.系统概述8 1.深腾高性能服务器系统结构8 2.深腾高性 ...

  2. ibm服务器装虚拟机,IBM-POWER8服务器虚拟化与系统安装使用手册.doc

    PowerKVM安装&Kimchi 使用手册 华讯中星科技-内部资料 目录 TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc427 ...

  3. 传真系统无法连接到服务器,传真ftp服务器配置和常见问题排查手册

    <传真ftp服务器配置和常见问题排查手册>由会员分享,可在线阅读,更多相关<传真ftp服务器配置和常见问题排查手册(7页珍藏版)>请在人人文库网上搜索. 1.用友致远一一A6传 ...

  4. eclipse让项目连接服务器失败,eclipse怎么链接服务器

    eclipse怎么链接服务器 内容精选 换一换 本节为您介绍如何通过控制台提供的远程登录功能(即VNC方式)登录到弹性云服务器上.如果您的弹性云服务器是采用密钥方式鉴权,请在登录前先使用密钥文件解析登 ...

  5. ftp文档服务器设置,ftp服务器基本设置

    ftp服务器基本设置 内容精选 换一换 在迁移Agent中输入华为云账号AK/SK以后,AK/SK校验失败.Windows系统提示用户:"AK/SK authentication faile ...

  6. vue项目前端服务器,【前端技术】vue自动部署项目到服务器

    想要的功能 前端打包之后自动上传文件夹到服务器 在不提交代码的前提下,也可以完成上述功能 经过各种百度谷歌,最后有两种方案可以选择 第一种是写一个shell,通过lftp上传文件夹,但是会有个权限的问 ...

  7. 服务器项目有哪些,怎么部署项目到服务器?服务器的特性有哪些?

    怎么部署项目到服务器?服务器的特性有哪些? 分类:云服务资讯 编辑: 浏览量:100 2021-06-21 17:29:50 相信很多人都觉得建站容易部署难,部署项目到服务器不仅需要耗费大量的时间,还 ...

  8. 服务器打包文件工具,项目增量发版之全自动打包流程(patch-generator-desk打包软件)...

    在我们程序员工作中往往伴随着频繁加班/通宵发版的过程中,对于小型项目或是只有当台服务器部署的这些项目,我们仅仅用代码全量发布,将开发工具工作空间的项目下的目录挨个用ftp或者其它工具上传替换就行.但是 ...

  9. 入门之:如何在腾讯云服务器上部署自己的静态前端项目(服务器系统:centos7)

    需要准备的东西有: 1.腾讯云服务器 1.1.安装nginx代理 1.2.安装FTP服务(用于linux服务器接收我们本地电脑上传的文件) 2.FileZilla(在个人电脑上安装,用于上传文件到服务 ...

  10. 在云服务器上部署的项目一直运可以怎么做

    之前在阿里云上部署的一个项目,但是每次访问都需要ssh访问远程服务器, 运行项目才能够访问.于是网上查了一些资料, 但是并没有找到我想要的结果,但是最后我还是找到了我想要的答案.是在阿里云的帮助文档上 ...

最新文章

  1. python转csv_python脚本如何将Excel文件转为csv文件(代码)
  2. 在数据库创建表的时候,时间设置为什么类型,会随着每次提交的时间发生变化
  3. ajax跨域解决方案
  4. windows C++ 通过WMI获取底层信息
  5. Nessus Plugins Download Fail
  6. 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。
  7. 啥是Attention?
  8. 浅谈Oracle执行计划
  9. cocos2d-基本概念(5)-Effects 效果
  10. android 数独实训报告,数独实验报告范文
  11. 房产中介管理系统,房产中介预约看房系统,看房预约系统毕设作品
  12. ESD笔记(三)_常用ESD保护电路优缺点
  13. indesign安装包.exe 自动简繁互转for_InDesign 简繁互换插件
  14. 全国大学生物联网设计竞赛作品 | 智慧养鸡小助手
  15. 安卓实战:自定义软键盘 (2)
  16. matlab实现iou计算,python实现IOU计算案例
  17. 手机应用软件卸载【adb】
  18. 2020危险化学品经营单位安全管理人员考试题及危险化学品经营单位安全管理人员模拟考试
  19. 对自动驾驶仿真软件研发方向的看法
  20. autojs安卓10,11泡椒云提示无法读取imei码解决方案

热门文章

  1. Google DFP广告管理系统简介:开始与您的网站进行广告集成
  2. MATLAB-损失函数和模型质量度量
  3. android gridview textview,gogo体育官方网站-gogo体育官方网站
  4. 【转载】Matlab中LMI(线性矩阵不等式)工具箱使用教程
  5. RecyclerView加载多类型item 实现淘宝首页布局
  6. c语言case小于,大于和小于switch语句C
  7. 1.1.3 NetBIOS编程基础(1)
  8. [批处理]在线获取双色球开奖结果历史数据
  9. SEO与爱情,十字路口中的抉择
  10. PAYPAL使用虚拟卡的会有优势吗?