首页 > 其他分享 >使用Pyftpdlib库搭建一个FTP服务器

使用Pyftpdlib库搭建一个FTP服务器

时间:2024-05-28 17:45:27浏览次数:20  
标签:FTP authorizer 命令 pyftpdlib 服务器 权限 Pyftpdlib

安装Pyftpdlib库

pip install pyftpdlib

 

一键开启(本地直接开启一个简单的FTP服务器)

访问 ftp://127.0.0.1:2121(默认IP为 127.0.0.1 、端口为 2121 )

python -m pyftpdlib

 

 

可选参数

  • -i 指定IP地址(默认为本机的IP地址)
  • -p 指定端口(默认为2121
  • -w 写权限(默认为只读)
  • -d 指定目录 (默认为当前目录)
  • -u 指定用户名登录
  • -P 设置登录密码

比如,设置端口为2122,用户名root,密码1234567的FTP服务

python -m pyftpdlib -p 2122 -u root -P 1234567

 

上述的命令已经可以实现一个简单的FTP服务器,但是要搭建一个功能强大完善的FTP服务所涉及到的配置较多,这时需要使用Pyftpdlib提供的API实现

perm权限选项

1)读取权限:

"e" =更改目录(CWD,CDUP命令)
"l" =列表文件(LIST,NLST,STAT,MLSD,MLST,SIZE命令)
"r" =从服务器检索文件(RETR命令)


2)写入权限:

"a" =将数据追加到现有文件(APPE命令)
"d" =删除文件或目录(DELE,RMD命令)
"f" =重命名文件或目录(RNFR,RNTO命令)
"m" =创建目录(MKD命令)
"w" =将文件存储到服务器(STOR,STOU命令)
"M"=更改文件模式/权限(SITE CHMOD命令)
"T"=更改文件修改时间(SITE MFMT命令)

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
 
# 实例化DummyAuthorizer来创建ftp用户
authorizer = DummyAuthorizer()
# 参数:用户名,密码,目录,权限
authorizer.add_user('user', '12345', '/opt/pyftp/test', perm='elradfmwMT')
# 匿名登录
# authorizer.add_anonymous('/home/nobody')
 
handler = FTPHandler
handler.authorizer = authorizer
 
# 参数:IP,端口,handler
server = FTPServer(('127.0.0.1', 21), handler)
server.serve_forever()

 

标签:FTP,authorizer,命令,pyftpdlib,服务器,权限,Pyftpdlib
From: https://www.cnblogs.com/REN-Murphy/p/18218537

相关文章

  • 一台服务器可以做负载均衡吗
    单台服务器本身不能实现负载均衡,因为负载均衡通常是指将流入的网络流量分配到多个后端服务器上以分担系统负载的技术。然而,单台服务器可以运行负载均衡软件或服务,通过这些软件和服务来实现对其他服务器的负载均衡。如果你想在一台服务器上模拟或测试负载均衡的环境,可以通......
  • 游戏服务器租用带宽选择
    游戏服务器租用时选择合适的带宽至关重要,因为带宽直接影响游戏的延迟、流畅度和玩家体验。以下是几个选择带宽时需要考虑的因素:游戏类型:实时竞技类游戏(如FPS、MOBA)对延迟非常敏感,需要较低的ping值保证游戏公平性,因此可能需要更高的带宽来支持更多的并发连接。非实时游戏......
  • 什么?部署ClickHouse的服务器CPU利用率100%了?
    背景  某客户现场的ClickHouse所在服务器资源占用率100%了,引发了服务器告警。观察Grafana监控面板发现,从12点左右出现了大量的碎片写入,从而引起了相关指标的快速上升。  本文主要通过ClickHouse官方的系统表system.query_log表进行问题排查定位,结合Grafana监控面板最......
  • centos7服务器如何安装lamp-Apache
    Apache:主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)httpd软件=>前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache的基金会。1.安装httpd服务yuminstallhttpd-yyuminstall+软件名称-y(意思为yes,安装中间有提示是否......
  • 京准电子 | GPS北斗卫星时钟服务器助力数字化机场建设
    京准电子|GPS北斗卫星时钟服务器助力数字化机场建设京准电子|GPS北斗卫星时钟服务器助力数字化机场建设京准电子科技官微——ahjzsz摘要:某机场指挥调度、离港系统、航显广播等多个重要信息系统之间的时钟同步,对机场的正常运营和安全起到了重要作用,该文简单介绍该系统在某机......
  • centos7.9服务器配置环境
    查看centos版本cat/etc/centos-release1.安装dockercurl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun启动dockersudosystemctlstartdocker设置开机启动sudosystemctlenabledocker2.创建运维用户创建cy用户useradd-m-d/home/cycy设置密码pas......
  • 西门子学习笔记3 - 工业物联网(MQTT协议服务器的搭建)
    这里使用的是公开测试的一个服务器(EMQX)的服务器EMQX是一款全球下载量超千万的开源物联网MQTT服务器,单集群支持1亿物联网设备连接,消息分发时延低于1毫秒,助力企业构建关键业务的IoT平台与应用。1、服务器文件的下载1、官方下载地址:免费下载、试用EMQ产品(emqx.com......
  • 轻松配置NFS服务:CentOS7服务器与客户端自动挂载指南
    目录NFS服务端配置NFS客户端配置 在CentOS7中配置NFS服务并设置客户端自动挂载的步骤如下:回到顶部NFS服务端配置安装NFS服务:首先,你需要在CentOS7服务器上安装NFS服务。你可以使用yum命令来安装:yuminstallnfs-utils创建共享目录:创建一个你希望共享的......
  • C#开发的应用升级更新服务器端工具 - 开源研究系列文章 - 个人小作品
          笔者开发过一些小应用,然后这些应用就需要有升级更新的功能,但是如果每个都集成进去也行,但是就是得写死更新的代码了。于是就想写一个应用升级更新的管理器,以前看到过Github上有一个AutoUpdate.Net,不过它那个要集成到应用中的,不符合笔者的需求,上次编写的那个没写完,然后......
  • 这款信创FTP软件,可实现安全稳定的文件传输!
    信创,即信息技术应用创新,2018年以来,受“华为、中兴事件”影响,国家将信创产业纳入国家战略,并提出了“2+8+n”发展体系。“8”具体指金融、石油、电力、电信、交通、航空航天、医院、教育等主要行业。目前企业使用比较多的是FTP应用,随着技术的进步和企业需求的多元化,弊端也更加明显,需......