環境搭建:html
-
pythonpython
-
windows/linuxlinux
-
pip install pyftpdlib (安裝失敗請到這裏下載:https://pypi.python.org/pypi/pyftpdlib/)windows
一行代碼搞定的事:服務器
到你打算分享的目錄下執行,python -m pyftpdlibspa
而後咱們來看一下,至此一個簡單的FTP服務器已經搭建完成,訪問 ftp://127.0.0.1:2121便可(默認IP爲 127.0.0.1 、端口爲 2121 )code
除上以外,還有一些可選參數:server
-
i 指定IP地址(默認爲本機的IP地址)htm
-
p 指定端口(默認爲2121)blog
-
w 寫權限(默認爲只讀)
-
d 指定目錄 (默認爲當前目錄)
-
u 指定用戶名登陸
-
P 設置登陸密碼
若是要在局域網內搭建一個FTP服務:
-
from pyftpdlib.authorizers import DummyAuthorizer
-
from pyftpdlib.handlers import FTPHandler
-
from pyftpdlib.servers import FTPServer
-
# 實例化DummyAuthorizer來建立ftp用戶
-
authorizer = DummyAuthorizer()
-
# 參數:用戶名,密碼,目錄,權限
-
authorizer.add_user('user', '12345', 'E:\', perm='elradfmwMT')
-
# 匿名登陸
-
# authorizer.add_anonymous('/home/nobody')
-
-
handler = FTPHandler
-
handler.authorizer = authorizer
-
-
# 參數:IP,端口,handler
-
server = FTPServer(('0.0.0.0', 21), handler)
-
-
#設置爲0.0.0.0爲本機的IP地址
-
server.serve_forever()
讀取權限:
-
"e" =更改目錄(CWD,CDUP命令)
-
"l" =列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令)
-
"r" =從服務器檢索文件(RETR命令)
寫入權限:
-
"a" =將數據追加到現有文件(APPE命令)
-
"d" =刪除文件或目錄(DELE,RMD命令)
-
"f" =重命名文件或目錄(RNFR,RNTO命令)
-
"m" =建立目錄(MKD命令)
-
"w" =將文件存儲到服務器(STOR,STOU命令)
-
"M"=更改文件模式/權限(SITE CHMOD命令)
-
"T"=更改文件修改時間(SITE MFMT命令)
-
參考文檔:
-
http://pyftpdlib.readthedocs.io/en/latest/index.html
-
http://mp.weixin.qq.com/s/IIi9mBGipeia-8M8WT0_nw