| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- # -*- coding:utf8 -*-
- #!/usr/bin/env python
- #coding:utf-8
- 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')
- ch.setFormatter(LogFormatter())
- fh.setFormatter(LogFormatter())
- logger.addHandler(ch) #将日志输出至屏幕
- logger.addHandler(fh) #将日志输出至文件
- # 实例化虚拟用户,这是FTP验证首要条件
- authorizer = DummyAuthorizer()
- # 添加用户权限和路径,括号内的参数是(用户名, 密码, 用户目录, 权限),可以为不同的用户添加不同的目录和权限
- # 测报灯ftp路径
- authorizer.add_user("ftpuser", "123456", "ftp_file/ykm_cbd", perm="elradfmw")
- # 依科曼测试ftp路径
- authorizer.add_user("ykm_user", "123456", "ftp_file/ykm_cbd", perm="elradfmw")
- # 孢子仪ftp路径
- authorizer.add_user("ftpbzyuser", "123456", "ftp_file/bzy_photo", perm="elradfmw")
- # 监控定时拍照ftp路径
- authorizer.add_user("jkuser", "123456", "ftp_file/jk_photo", perm="elradfmw")
- # 性诱设备拍照ftp路径
- authorizer.add_user("sexuser", "yf_123456", "ftp_file/sex_photo", perm="elradfmw")
- # 糖醋测报拍照ftp路径
- authorizer.add_user("tccbuser", "yf123456", "ftp_file/tccb_photo", perm="elradfmw")
- # # 测试程序
- # authorizer.add_user("sssuser", "yf_123456", "ftp_file/ssssex_photo", perm="elradfmw")
- # 升级文件路径
- authorizer.add_user("updateuser", "123456", "/data/yfwlw/update", perm="elradfmw")
- # authorizer.add_user("updateuser", "123456", "/home/web/yfwlw/update", perm="elradfmw")
- #这个是添加匿名用户,任何人都可以访问,如果去掉的话,需要输入用户名和密码,
- # 添加匿名用户 只需要路径
- # authorizer.add_anonymous("d:/")
- # 初始化ftp句柄
- handler = FTPHandler
- handler.authorizer = authorizer
- #添加被动端口范围
- handler.passive_ports = range(2000, 2333)
- # 下载上传速度设置
- dtp_handler = ThrottledDTPHandler
- dtp_handler.read_limit = 500 * 1024 #300kb/s
- dtp_handler.write_limit = 500 * 1024 #300kb/s
- # 开启服务器
- # 监听ip 和 端口
- server = FTPServer(("0.0.0.0", 2121), handler)
- # 大服务器内网地址:172.16.220.3
- # server = FTPServer(("172.16.220.3", 21), handler)
- # 小服务器内网地址:172.24.159.211
- # server = FTPServer(("172.24.159.211", 21), handler)
- # server = FTPServer(("127.0.0.1", 21), handler)
- # 最大连接数
- server.max_cons = 500
- server.max_cons_per_ip = 15
- # 开始服务,自带日志打印信息
- server.serve_forever()
|