基于python搭建FTP服务(python操作ftp文件)

网友投稿 1118 2022-08-31


基于python搭建FTP服务(python操作ftp文件)

使用python搭建FTP服务非常容易,且非常稳定,更重要的是可以实现一些精细化的控制,例如精细的访问权限配置,详细的日志记录等工作

这里是使用了pyftpdlib模块

1. 安装

pip install pyftpdlib

2. 使用

快速搭建一个简单的FTP服务:

python -m pyftpdlib -p 21即可在执行命令所在的目录下建立一个端口为21的供下载文件的FTP服务

搭建一个具有访问权限的FTP服务

from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHandler, ThrottledDTPHandlerfrom pyftpdlib.servers import FTPServerfrom pyftpdlib.log import LogFormatterimport logginglogger = 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('lanlang', '123456', "./files", perm="elradfmw")# 添加匿名用户,只添加路径authorizer.add_anonymous("./files")handler = FTPHandlerhandler.authorizer = authorizer# 添加被动端口范围handler.passive_ports = range(2000, 2333)# 下载上传速度设置dtp_handler = ThrottledDTPHandlerdtp_handler.read_limit = 300 * 1024 # 300kb/sdtp_handler.write_limit = 300 * 1024 # 300kb/shandler.dtp_handler = dtp_handler# 监听IP和端口,Linux中需要root用户才能使用21端口server = FTPServer(('0.0.0.0', 21), handler)# 最大连接数server.max_cons = 150server.max_cons_per_ip = 15server.serve_forever()

权限说明:

读权限:

代码 

说明

e 

改变文件目录

l 

列出文件

r

从服务器接收文件

写权限:

M

文件传输模式(通过FTP设置文件权限)

a

文件上传

d

删除文件

f

文件重命名

m

创建文件

w

写权限


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:程序员所说的接口开发通常是什么意思?接口开发的步骤是怎么样的?
下一篇:Java8中AbstractExecutorService与FutureTask源码详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~