天天看點

一行代碼搞定 FTP 服務

環境搭建:

python

windows/linux

pip install pyftpdlib (安裝失敗請到這裡下載下傳:https://pypi.python.org/pypi/pyftpdlib/)

一行代碼搞定的事:

到你打算分享的目錄下執行,python -m pyftpdlib

一行代碼搞定 FTP 服務

然後我們來看一下,至此一個簡單的FTP伺服器已經搭建完成,通路 ftp://127.0.0.1:2121即可(預設IP為 127.0.0.1 、端口為 2121 )

一行代碼搞定 FTP 服務

除上之外,還有一些可選參數:

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