環境搭建:
python
windows/linux
pip install pyftpdlib (安裝失敗請到這裡下載下傳:https://pypi.python.org/pypi/pyftpdlib/)
一行代碼搞定的事:
到你打算分享的目錄下執行,python -m pyftpdlib

然後我們來看一下,至此一個簡單的FTP伺服器已經搭建完成,通路 ftp://127.0.0.1:2121即可(預設IP為 127.0.0.1 、端口為 2121 )
除上之外,還有一些可選參數:
i 指定IP位址(預設為本機的IP位址)
p 指定端口(預設為2121)
w 寫權限(預設為隻讀)
d 指定目錄 (預設為目前目錄)
u 指定使用者名登入
P 設定登入密碼
如果要在區域網路内搭建一個FTP服務:
<code>from pyftpdlib.authorizers import DummyAuthorizer</code>
<code>from pyftpdlib.handlers import FTPHandler</code>
<code>from pyftpdlib.servers import FTPServer</code>
<code># 執行個體化DummyAuthorizer來建立ftp使用者</code>
<code>authorizer = DummyAuthorizer()</code>
<code># 參數:使用者名,密碼,目錄,權限</code>
<code>authorizer.add_user('user', '12345', 'E:\', perm='elradfmwMT')</code>
<code># 匿名登入</code>
<code># authorizer.add_anonymous('/home/nobody')</code>
<code>handler = FTPHandler</code>
<code>handler.authorizer = authorizer</code>
<code># 參數:IP,端口,handler</code>
<code>server = FTPServer(('0.0.0.0', 21), handler)</code>
<code>#設定為0.0.0.0為本機的IP位址</code>
<code>server.serve_forever()</code>
讀取權限:
"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