示例#1
0
 def __init__(self, parent, host, user, passwd, home_dir, log):
     # pull settings
     self.parent = parent
     self.home_dir = unicode(home_dir)
     host = host.split(':')
     host[1] = int(host[1])
     # create authorizer
     authorizer = HumbleAuthorizer()
     authorizer.add_user(user, passwd, home_dir, perm="elradfmw")
     # create filesystem
     #virtual_fs = VirtualFS
     filesystem = HumbleAbstractedFS
     filesystem.parent = self
     # create handler
     handler = HumbleFTPHandler
     handler.parent = self
     handler.logger = log
     handler.authorizer = authorizer
     handler.passive_ports = range(60000, 65535)
     handler.abstracted_fs = filesystem  # virtual_fs  # real_fs
     # setup virtual fs
     # real_fs = HumbleAbstractedFS(self.home_dir, handler)
     # real_fs.parent = self
     # virtual_fs.structure = {'workspace': real_fs}
     # init self
     self.logger = log
     FTPServer.__init__(self, host, handler)
     self.max_cons = 256
     self.max_cons_per_ip = 5
示例#2
0
    def __init__(self, port, exposed_dir, username='', password=''):

        self.exposed_dir = exposed_dir

        authorizer = DummyAuthorizer()
        if username:
            authorizer.add_user(username, password, '.', perm=('elradfmwM'))
        else:
            authorizer.add_anonymous(exposed_dir, perm=('elradfmwM'))

        address = ('0.0.0.0', port)
        handler = FTPHandler
        handler.authorizer = authorizer
        ThreadedFTPServer.__init__(self, address, handler)