예제 #1
0
        def add_anonymous(self, homedir=None, realuser="******", **kwargs):
            """Add an anonymous user to the virtual users table.

             - (string) homedir:
                The anonymous user home directory.  If this is not
                specified the "realuser" home directory will be
                determined (if any) and used.

             - (string) realuser:
                specifies the system user to use for managing anonymous
                sessions.  On some UNIX systems "ftp" is available and
                usually used by end-user FTP servers but it can vary
                (e.g. "nobody").

             - (dict) **kwargs:
                the same keyword arguments expected by the original
                add_user method: "perm", "msg_login" and "msg_quit".
            """
            users = [entry.pw_name for entry in pwd.getpwall()]
            if not realuser in users:
                raise AuthorizerError('No such user "%s".' % realuser)
            if not homedir:
                homedir = pwd.getpwnam(realuser).pw_dir
                self._dynamic_home_users.append(realuser)
            DummyAuthorizer.add_anonymous(self, homedir, **kwargs)
            self._anon_user = realuser
예제 #2
0
def main():
    authorizer = DummyAuthorizer()
    authorizer.add_user('user', '12345', '.', perm='elradfmw')
    authorizer.add_anonymous('.')
    handler = AntiFloodHandler
    handler.authorizer = authorizer
    ftpd = FTPServer(('', 21), handler)
    ftpd.serve_forever(timeout=1)
예제 #3
0
def main():
    authorizer = DummyAuthorizer()
    authorizer.add_user('user', '12345', '.', perm='elradfmw')
    authorizer.add_anonymous('.')
    handler = AntiFloodHandler
    handler.authorizer = authorizer
    ftpd = FTPServer(('', 21), handler)
    ftpd.serve_forever(timeout=1)