要求:
- 用戶加密認證
- 允許同時多用戶登錄
- 每個用戶有自己的家目錄 ,且只能訪問自己的家目錄
- 對用戶進行磁盤配額,每個用戶的可用空間不同(未做)
- 允許用戶在ftp server上隨意切換目錄
- 允許用戶查看當前目錄下文件
- 允許上傳和下載文件,保證文件一致性
- 文件傳輸過程中顯示進度條
- 附加功能:支持文件的斷點續傳(未實現)
拓撲圖:
設計說明:
服務器端
服務器端主要是處於長期運行監控狀態。在調用啟動之后,即無需再次操作。
涉及文件目錄:
Bin文件夾:主要是放置的服務器啟動文件,運行改文件夾下的start文件即可啟動服務器
Core文件夾:主要存放服務器程序的核心部分,涉及文件的作用如下:
Classet.py 主要是服務器與終端的連接方式設定,內部設有相應功能模塊
Loger.py 此文件是設定的服務器log日志顯示和存儲的形式
Data文件夾:主要是存放數據,涉及的文件夾和文件作用如下:
Config文件夾:存放configure.py文件,此文件作用是默認參數配置,默認內容如下圖:
此處存放有當前服務器監控的地址和端口,可更改此處來實現實際需要。
另一個較為重要的是管理員的賬號和密碼,此程序暫不支持更改管理員賬號和密碼,但管理員賬號和密碼是由管理員程序使用的,普通用戶程序使用無效。
Document文件夾:此文件夾主要存放的是客戶上傳到服務器的文件,存放的原則是按照用戶名來創建相應的文件夾。
Log文件夾:此文件夾下存放的是系統日志,系統運行之后會生成一個sys.txt
Usermsg文件夾:存放的是注冊用戶的相關信息
客戶端:
普通用戶部分(user文件夾)
測試用戶 li 密碼 123
- 普通用戶主要涉及以下功能:
首先輸入錯誤的命令會得到相應的命令提示,輸入help也會得到相應的命令提示,但僅為簡單命令提示,具體命令格式請參考如下說明:
1、 put,上傳文件
語法: put 文件名
PS. 此處的進度條僅支持在cmd環境下顯示。
2、get 下載文件
語法: 1、 get 原文件名 目標文件地址和目標文件名
2、get 原用戶名
此處的進度條僅支持在cmd環境下顯示。
PS.某些系統不允許讀寫系統所在盤符,因此工作目錄是在C盤根目錄時,可能會出現如下錯誤:
不寫目的文件路徑的話,默認下載至用戶的工作目錄。
3、創建目錄:
語法: mkdir 文件夾名
4、刪除目錄
語法:rm 文件夾名/文件名
5、遍歷當前目錄的相關信息
語法:ls
6、切換目錄
語法:cd 文件夾名
若需返回上層目錄,則可以使用 cd ..來進行切換
7、顯示當前所在目錄的信息
語法:pwd
若需要退出,可直接輸入“q”退出程序
管理員部分(admin文件夾)
管理員需要使用專用客戶端與服務器進行通信,管理員界面顯示的主要功能如下:
1、 注冊用戶
可注冊允許登錄ZFTP的普通用戶賬號
2、 刪除用戶
可刪除當前已存在的普通用戶賬號
3、 查看用戶
可查看當前已存在的普通用戶賬號。
4、退出系統
職講師信息
目前不支持管理員更改自身的用戶名和密碼。
客戶端文件架構
客戶端主要由admin和user兩個文件夾組成,兩個文件夾可單獨分開,普通用戶僅需要接觸user文件夾即可。
兩個文件夾內存放文件一致,主要是main.py主體文件和**_start.py啟動文件,
main.py 為客戶端主體程序
**_start.py為各自的啟動程序
運行時候運行**_start.py即可進入客戶端。如下圖所示:
已作廢
代碼鏈接:http://pan.baidu.com/s/1miC8I8K 密碼:f45j
請移步:
http://www.cnblogs.com/mstzkot/p/7765773.html