python FTP服务器实现(Python3)

创建一个ftp.py文件(Linux环境),插入以下代码:

from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer

# 实例化DummyAuthorizer来创建ftp用户
authorizer = DummyAuthorizer()
# 参数:用户名,密码,目录,权限
authorizer.add_user('test', '12345', '/root/ftp', perm='elradfmwMT')
authorizer.add_user('tese1', '12345', '/root/ftp', perm='elradfmwMT')
# 匿名登录
# authorizer.add_anonymous('/home/nobody')

handler = FTPHandler
handler.authorizer = authorizer

# 参数:IP,端口,handler
server = FTPServer(('172.31.8.88', 21), handler)
server.serve_forever()

###### 文件保存
:wq 保存文件

###### 运行:

root@k8s-node1 ~]# nohup python3 ftp.py &
[1] 1737
[root@k8s-node1 ~]# nohup: 忽略输入并把输出追加到"nohup.out"
[root@k8s-node1 ~]# root@k8s-node1 ~]# tail -f nohup.out
[I 2018-11-30 12:52:03] 172.31.8.3:52635-[test] USER 'test' logged in.
[I 2018-11-30 12:57:03] 172.31.8.3:52635-[test] Control connection timed out.
[I 2018-11-30 12:57:03] 172.31.8.3:52635-[test] FTP session closed (disconnect).
[I 2018-12-20 09:36:26] >>> starting FTP server on 172.31.8.88:21, pid=1737 <<<
[I 2018-12-20 09:36:26] concurrency model: async
[I 2018-12-20 09:36:26] masquerade (NAT) address: None
[I 2018-12-20 09:36:26] passive ports: None
[I 2018-12-20 09:36:49] 172.31.8.3:52150-[] FTP session opened (connect)
[I 2018-12-20 09:36:52] 172.31.8.3:52150-[] USER 'anonymous' failed login.
[I 2018-12-20 09:36:52] 172.31.8.3:52150-[] FTP session closed (disconnect).
[I 2018-12-20 09:37:09] 172.31.8.3:52156-[] FTP session opened (connect)
[I 2018-12-20 09:37:12] 172.31.8.3:52156-[] USER 'test' failed login.
[I 2018-12-20 09:37:12] 172.31.8.3:52156-[] FTP session closed (disconnect).
[I 2018-12-20 09:37:16] 172.31.8.3:52159-[] FTP session opened (connect)
[I 2018-12-20 09:37:16] 172.31.8.3:52159-[test] USER 'test' logged in.
[I 2018-12-20 09:37:16] 172.31.8.3:52159-[test] FTP session closed (disconnect).
[I 2018-12-20 09:37:16] 172.31.8.3:52160-[] FTP session opened (connect)
[I 2018-12-20 09:37:16] 172.31.8.3:52160-[test] USER 'test' logged in.
[I 2018-12-20 09:40:13] 172.31.8.3:52160-[test] FTP session closed (disconnect).

转载于:https://www.cnblogs.com/ArchitecTang/p/10174065.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265127.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 恢复数据

对于很多 Linux 的用户来说&#xff0c;可能有一个问题一直都非常头疼&#xff1a;对于那些不小心删除的数据来说&#xff0c;怎样才能恢复出来呢&#xff1f;大家知道&#xff0c;在 Windows 系统上&#xff0c;回收站中保存了最近使用资源管理器时删除的文件。即便是对于那些…

设备树下的platform 驱动编写

目录设备树下的platform 驱动简介硬件原理图分析实验程序编写修改设备树文件platform 驱动程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试上一章我们详细的讲解了Linux 下的驱动分离与分层&#xff0c;以及总线、设备和驱动这样的驱动框架。基于总线、设备和驱动这…

回归测试——游戏版本发布前的最后关口

回归测试在软件开发中很常用&#xff0c;在游戏测试中也是很重要的一个环节&#xff0c;它起着保障作用。可能各个公司游戏项目的回归测试流程不大相同&#xff0c;我就拿我参与的游戏项目来举例。在一个迭代的过程中&#xff0c;最后收尾动作就是回归测试&#xff0c;简单说就…

Linux 自带的LED 灯驱动实验

目录Linux 内核自带LED 驱动使能Linux 内核自带LED 驱动简介LED 灯驱动框架分析module_platform_driver 函数简析gpio_led_probe 函数简析设备树节点编写运行测试前面我们都是自己编写LED 灯驱动&#xff0c;其实像LED 灯这样非常基础的设备驱动&#xff0c;Linux 内核已经集成…

虚拟硬盘VHD的程式化挂载方式

2019独角兽企业重金招聘Python工程师标准>>> 微软推出的虚拟硬盘vhd同vmdk,qcow2等一样&#xff0c;是一种磁盘镜像格式。磁盘镜像一般多用于虚拟化计算&#xff0c;但微软支持将Win7/Win8/Win2012等直接安装进vhd文件中&#xff0c;并且不通过任何虚拟机&#xff0…

Cs231n课堂内容记录-Lecture 5 卷积神经网络介绍

Lecture 5 CNN 课堂笔记参见&#xff1a;https://zhuanlan.zhihu.com/p/22038289?referintelligentunit 不错的总结笔记&#xff1a;https://blog.csdn.net/sugar_girl/article/details/79108709 1.卷积核步长公式&#xff1a;&#xff08;N-F2*padding&#xff09;/stride1ne…

Linux MISC 驱动实验

目录MISC 设备驱动简介硬件原理图分析实验程序编写修改设备树beep 驱动程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试misc 的意思是混合、杂项的&#xff0c;因此MISC 驱动也叫做杂项驱动&#xff0c;也就是当我们板子上的某些外设无法进行分类的时候就可以使用MI…

PHP的session阻塞问题

2019独角兽企业重金招聘Python工程师标准>>> 通过phpinfo()可以看到php支持的session存储方式有&#xff1a; 可以看出session的存储方式有文件、用户自定义、memcache存储方式 在文件的存储方式用存在session阻塞的问题&#xff0c;该种阻塞存在于同一个浏览器执行…

jq关于对象类型的判断

typeof&#xff1a;可区分方法和对象&#xff0c;但实例对象和数组都是object&#xff0c;没办法区分 toString.call():可区分各个对象的类型。如数组和date等。&#xff08;ie不支持&#xff09; hasOwnProperty:用于判断对象里是否含有某个字符串 includes:用于判断某个数组是…

Linux INPUT 子系统实验

目录input 子系统input 子系统简input 驱动编写流程input_event 结构体硬件原理图分析实验程序编写修改设备树文件按键input 驱动程序编写编写测试APP运行测试编译驱动程序和测试APP运行测试Linux 自带按键驱动程序的使用自带按键驱动程序源码简析自带按键驱动程序的使用按键、…

linux文件夹打包命令

linux文件夹打包命令 .tar 解包&#xff1a;tar xvf FileName.tar打包&#xff1a;tar cvf FileName.tar DirName&#xff08;注&#xff1a;tar是打包&#xff0c;不是压缩&#xff01;&#xff09;---------------------------------------------.gz解压1&#xff1a;gunzip …

django项目中settings.py文件中路径设置问题

2019独角兽企业重金招聘Python工程师标准>>> 首先&#xff0c;__file__表示当前模块的名字。 将下列代码写入os.path.py文件中&#xff0c;存放在桌面上 """ import os print __file__ """ win R 开启一个 CMD&#xff0c;使用pytho…

Linux LCD 驱动实验

目录Linux 下LCD 驱动简析1 Framebuffer 设备LCD 驱动简析硬件原理图分析LCD 驱动程序编写运行测试LCD 屏幕基本测试设置LCD 作为终端控制台LCD 背光调节从LCD自动关闭解决方法LCD 是很常用的一个外设&#xff0c;在裸机篇中我们讲解了如何编写LCD 裸机驱动&#xff0c;在Linux…

一个老兵的linux学习和面试经验分享

特别说明&#xff1a;本文为约9个月前老男孩linux培训内部师兄给师弟的经验分享&#xff0c;经过该同学同意&#xff0c;特此分享给所有博友。学习和面试经验分享大家好&#xff0c;非常高兴能在这里给大家分享学习和面试的经验&#xff0c;同时也非常感谢老男孩老师给我这次机…

设计模式--简单工厂(个人笔记)

一、适用场景以及优缺点 1.适用场景&#xff1a; 当工厂类负责创建的对象比较少时可以考虑使用简单工厂模式&#xff0c; 客户如果只知道传入工厂类的参数&#xff0c;对于如何创建对象的逻辑不关心时可以考虑使用简单工厂模式 2.优点&#xff1a; 解决了客户端直接依赖于具体对…

Linux RTC 驱动实验

目录Linux 内核RTC 驱动简介I.MX6U 内部RTC 驱动分析RTC 时间查看与设置RTC 也就是实时时钟&#xff0c;用于记录当前系统时间&#xff0c;对于Linux 系统而言时间是非常重要的&#xff0c;就和我们使用Windows 电脑或手机查看时间一样&#xff0c;我们在使用Linux 设备的时候也…

opencv及相机相关6

下午调试了下&#xff0c;现在可以实现在arm板上打开相机并实时显示&#xff0c;但是人脸检测暂时还没有实现&#xff0c;猜想是因为opencv的原因。明天接着调试。今天整明白一件事&#xff0c;首先在linux系统下&#xff0c;g编译器当cpp文件较少时&#xff0c;编译程序时需要…

网络IPC:套接字之建立连接

如果处理的是面向连接的网络服务&#xff08;SOCK_STREAM或SOCK_SEQPACKET&#xff09;&#xff0c;在开始交换数据以前&#xff0c;需要在请求服务的进程套接字&#xff08;客户端&#xff09;和提供服务的进程套接字&#xff08;服务器&#xff09;之间建立一个连接。客户端可…

Linux I2C 驱动实验

目录Linux I2C 驱动框架简介I2C 总线驱动I2C 设备驱动I2C 设备和驱动匹配过程I.MX6U 的I2C 适配器驱动分析I2C 设备驱动编写流程I2C 设备信息描述I2C 设备数据收发处理流程硬件原理图分析实验程序编写修改设备树AP3216C 驱动编写编写测试APP运行测试编译驱动程序和测试APP运行测…