linux搭ftp
网上推荐使用vsftpd, 我试了, 他需要在系统中创建用户, 这样shell就可以连了. 但屏蔽shell连结, ftp又连不上. 使用docker容器安装vsftp时, docker下载又慢. vsftp也可以配置虚拟用户, 但要好几步, 很麻烦.
后面想起找个python库就可以做ftp了, 一个文件, 方便.
参考:https://www.cnblogs.com/xingxia/p/python_ftp_server.html
#pip install pyftpdlib from pyftpdlib.authorizers import DummyAuthorizer from pyftpdlib.handlers import FTPHandler, ThrottledDTPHandler from pyftpdlib.servers import FTPServer from pyftpdlib.log import LogFormatter import logging logger = logging.getLogger() logger.setLevel(logging.INFO) ch = logging.StreamHandler() fh = logging.FileHandler(filename='myftpserver.log', encoding='utf-8') # 默认追加到日志文件 ch.setFormatter(LogFormatter()) fh.setFormatter(LogFormatter()) logger.addHandler(ch) # 将日志输出到屏幕 logger.addHandler(fh) # 将日志输出至文件 authorizer = DummyAuthorizer()# 添加用户权限与路径,参数(用户名,密码,用户目录,权限(见说明)) authorizer.add_user('test', '123456', "/data/web/mobile", perm="elradfmw")# 添加匿名用户,只添加路径 #authorizer.add_anonymous("./files") handler = FTPHandler handler.authorizer = authorizer# 添加被动端口范围 handler.passive_ports = range(39000, 40000) # 下载上传速度设置 dtp_handler = ThrottledDTPHandler dtp_handler.read_limit = 3000 * 1024 # 300kb/s dtp_handler.write_limit = 3000 * 1024 # 300kb/s handler.dtp_handler = dtp_handler # 监听IP和端口,Linux中需要root用户才能使用21端口 server = FTPServer(('0.0.0.0', 21), handler) # 最大连接数 server.max_cons = 150 server.max_cons_per_ip = 15 server.serve_forever()
浙公网安备 33010602011771号