一、安裝python、pip、virtualenvpython
#centos下python是自帶,無需本身安裝 #安裝pip sudo yum -y install epel-release sudo yum -y install python-pip sudo yum clean all #安裝virtualenv yum install python-virtualenv
二、安裝pyftpdlibwindows
#建立並開啓虛擬環境 virtualenv ftp_evn source ftp_evn/bin/activate #安裝pyftpdlib pip install pyftpdlib
三、寫啓動腳本ftpserver.pycentos
#!/usr/bin/env python from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import ThreadedFTPServer def main(): authorizer = DummyAuthorizer() authorizer.add_user("admin", "h3c.com!", "/opt/share", perm="elradfmwM") handler = FTPHandler handler.authorizer = authorizer server = ThreadedFTPServer(('', 21), handler) server.serve_forever() if __name__ == "__main__": main()
四、運行瀏覽器
nohup python ftpserver.py &
瀏覽器訪問ftp://10.90.3.118 (個人服務器ip是10.90.3.118)。輸入用戶名/密碼後可見目錄:bash
五、關於windows上傳文件後,文件名中文亂碼問題的解決方案服務器
pyftpdlib內部使用utf-8,windows使用的是gbk,能夠對pyftpdlib源碼進行修改:code
一、filesystems.py AbstractedFS.format_list與AbstractedFS.format_list 最後一行 yield line.encode('utf8', self.cmd_channel.unicode_errors) utf8改成gbk 二、handlers.py FTPHandler.decode return bytes.decode('utf8', self.unicode_errors) utf8改成gbk