依赖 :
pip3 install pyftpdlib
脚本:
# coding: utf-8 import os from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler from pyftpdlib.servers import FTPServer def main(): #实例化用户授权管理 authorizer = DummyAuthorizer() authorizer.add_user('user','123456','/',perm='elradfmwMT') #添加用户 参数:username,password,允许的路径、权限 authorizer.add_anonymous(os.getcwd()) #这里是允许匿名用户访问,指定路径 ru: '/hone/hello' #实例化FTPHandle handler = FTPHandler handler.authorizer = authorizer #设定一个客户端链接时的标语 handler.banner = '你好吗? 我已经注意你很久了! 欢迎访问myftp.' # handler.masquerade_address = '192.168.88.2' # address = ('192.168.88.2', 21) #FTP 一般使用21、20端口 server = FTPServer(('127.0.0.1', 2121), handler) #FTP服务器实例 #设定一个限制连接 server.max_cons = 256 server.max_cons_per_ip = 5 #开启服务器 server.serve_forever() if __name__ == '__main__': main()
部分其他配置:
# coding: utf-8 #import os from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler, ThrottledDTPHandler from pyftpdlib.servers import FTPServer from conf import settings import logging def main(): #实例化用户授权管理 authorizer = DummyAuthorizer() authorizer.add_user('user','123456','/',perm='elradfmwMT') #添加用户 参数:username,password,允许的路径、权限 #authorizer.add_anonymous(os.getcwd()) #这里是允许匿名用户访问,指定路径 ru: '/hone/hello' authorizer.add_anonymous('/home/sea') #下载上传速度设置 #dtp_handler = ThrottledDTPHandler #下载速度 300kb/s #dtp_handler.read_limit = 300 * 1024 #dtp_handler.write_limit = 300 * 1024 #实例化FTPHandle handler = FTPHandler handler.authorizer = authorizer # handler.masquerade_address = '192.168.88.2' # address = ('192.168.88.2', 21) #FTP 一般使用21、20端口 #FTP服务器实例 0.0.0.0 server = FTPServer(('127.0.0.1', 2121), handler) #添加被动端口范围 handler.passive_ports = range(2000, 2333) #日志记录 #logging.basicConfig(filename="/tmp/myftp/log.log", level=logging.INFO) #设定一个限制连接 server.max_cons = 200 #最多IP数 server.max_cons_per_ip = 5 #开启服务器 server.serve_forever() if __name__ == '__main__': main()
关于权限 , 用户, 可以参考:https://blog.csdn.net/hanyuyang19940104/article/details/80420500