本文整理汇总了Python中pyftpdlib.authorizers.DummyAuthorizer方法的典型用法代码示例。如果您正苦于以下问题:Python authorizers.DummyAuthorizer方法的具体用法?Python authorizers.DummyAuthorizer怎么用?Python authorizers.DummyAuthorizer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyftpdlib.authorizers
的用法示例。
在下文中一共展示了authorizers.DummyAuthorizer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_override_perm_recursive_paths
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def test_override_perm_recursive_paths(self):
auth = DummyAuthorizer()
auth.add_user(USER, PASSWD, HOME, perm='elr')
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), False)
auth.override_perm(USER, self.tempdir, perm='w', recursive=True)
self.assertEqual(auth.has_perm(USER, 'w', HOME), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), True)
self.assertEqual(auth.has_perm(USER, 'w', self.tempfile), True)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempdir), True)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempfile), True)
self.assertEqual(auth.has_perm(USER, 'w', HOME + '@'), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir + '@'), False)
path = os.path.join(self.tempdir + '@',
os.path.basename(self.tempfile))
self.assertEqual(auth.has_perm(USER, 'w', path), False)
# test case-sensitiveness
if (os.name in ('nt', 'ce')) or (sys.platform == 'cygwin'):
self.assertEqual(auth.has_perm(USER, 'w',
self.tempdir.upper()), True)
示例2: test_override_perm_not_recursive_paths
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def test_override_perm_not_recursive_paths(self):
auth = DummyAuthorizer()
auth.add_user(USER, PASSWD, HOME, perm='elr')
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), False)
auth.override_perm(USER, self.tempdir, perm='w')
self.assertEqual(auth.has_perm(USER, 'w', HOME), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), True)
self.assertEqual(auth.has_perm(USER, 'w', self.tempfile), True)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempdir), False)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempfile), False)
self.assertEqual(auth.has_perm(USER, 'w', HOME + '@'), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir + '@'), False)
path = os.path.join(self.tempdir + '@',
os.path.basename(self.tempfile))
self.assertEqual(auth.has_perm(USER, 'w', path), False)
# test case-sensitiveness
if (os.name in ('nt', 'ce')) or (sys.platform == 'cygwin'):
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir.upper()),
True)
示例3: __init__
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def __init__(self, addr=None):
threading.Thread.__init__(self)
self._timeout = None
self._serving = False
self._stopped = False
if addr is None:
addr = (HOST, 0)
authorizer = DummyAuthorizer()
authorizer.add_user(USER, PASSWD, HOME, perm='elradfmwM') # full perms
authorizer.add_anonymous(HOME)
self.handler.authorizer = authorizer
# lower buffer sizes = more "loops" while transfering data
# = less false positives
self.handler.dtp_handler.ac_in_buffer_size = 4096
self.handler.dtp_handler.ac_out_buffer_size = 4096
self.server = self.server_class(addr, self.handler)
self.host, self.port = self.server.socket.getsockname()[:2]
示例4: main
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def main():
# Instantiate a dummy authorizer for managing 'virtual' users
authorizer = DummyAuthorizer()
# anonymous user
authorizer.add_anonymous(os.getcwd())
# Instantiate FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
handler.permit_foreign_addresses = True
# Instantiate FTP server class and listen on 0.0.0.0:21
address = ('', 21)
server = FTPServer(address, handler)
# start ftp server
server.serve_forever()
示例5: test_override_perm_recursive_paths
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def test_override_perm_recursive_paths(self):
auth = DummyAuthorizer()
auth.add_user(USER, PASSWD, HOME, perm='elr')
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), False)
auth.override_perm(USER, self.tempdir, perm='w', recursive=True)
self.assertEqual(auth.has_perm(USER, 'w', HOME), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir), True)
self.assertEqual(auth.has_perm(USER, 'w', self.tempfile), True)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempdir), True)
self.assertEqual(auth.has_perm(USER, 'w', self.subtempfile), True)
self.assertEqual(auth.has_perm(USER, 'w', HOME + '@'), False)
self.assertEqual(auth.has_perm(USER, 'w', self.tempdir + '@'), False)
path = os.path.join(self.tempdir + '@',
os.path.basename(self.tempfile))
self.assertEqual(auth.has_perm(USER, 'w', path), False)
# test case-sensitiveness
if (os.name in ('nt', 'ce')) or (sys.platform == 'cygwin'):
self.assertTrue(auth.has_perm(USER, 'w', self.tempdir.upper()))
示例6: main
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', os.getcwd(), perm='elradfmwMT')
authorizer.add_anonymous(os.getcwd())
dtp_handler = ThrottledDTPHandler
dtp_handler.read_limit = 30720 # 30 Kb/sec (30 * 1024)
dtp_handler.write_limit = 30720 # 30 Kb/sec (30 * 1024)
ftp_handler = FTPHandler
ftp_handler.authorizer = authorizer
# have the ftp handler use the alternative dtp handler class
ftp_handler.dtp_handler = dtp_handler
server = FTPServer(('', 2121), ftp_handler)
server.serve_forever()
示例7: setUpClass
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def setUpClass(cls):
from pyftpdlib.test import ThreadedTestFTPd
super(TestFTPFS, cls).setUpClass()
cls._temp_dir = tempfile.mkdtemp("ftpfs2tests")
cls._temp_path = os.path.join(cls._temp_dir, text_type(uuid.uuid4()))
os.mkdir(cls._temp_path)
cls.server = ThreadedTestFTPd()
cls.server.shutdown_after = -1
cls.server.handler.authorizer = DummyAuthorizer()
cls.server.handler.authorizer.add_user(
cls.user, cls.pasw, cls._temp_path, perm="elradfmw"
)
cls.server.handler.authorizer.add_anonymous(cls._temp_path)
cls.server.start()
# Don't know why this is necessary on Windows
if platform.system() == "Windows":
time.sleep(0.1)
# Poll until a connection can be made
if not cls.server.is_alive():
raise RuntimeError("could not start FTP server.")
示例8: test_override_perm_interface
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def test_override_perm_interface(self):
auth = DummyAuthorizer()
auth.add_user(USER, PASSWD, HOME, perm='elr')
# raise exc if user does not exists
self.assertRaises(KeyError, auth.override_perm, USER + 'w',
HOME, 'elr')
# raise exc if path does not exist or it's not a directory
self.assertRaisesRegex(ValueError,
'no such directory',
auth.override_perm, USER, '?:\\', 'elr')
self.assertRaisesRegex(ValueError,
'no such directory',
auth.override_perm, USER, self.tempfile, 'elr')
# raise on wrong permission
self.assertRaisesRegex(ValueError,
"no such permission", auth.override_perm,
USER, HOME, perm='?')
# expect warning on write permissions assigned to anonymous user
auth.add_anonymous(HOME)
for p in "adfmw":
self.assertRaisesRegex(
RuntimeWarning,
"write permissions assigned to anonymous user.",
auth.override_perm, 'anonymous', HOME, p)
# raise on attempt to override home directory permissions
self.assertRaisesRegex(ValueError,
"can't override home directory permissions",
auth.override_perm, USER, HOME, perm='w')
# raise on attempt to override a path escaping home directory
if os.path.dirname(HOME) != HOME:
self.assertRaisesRegex(ValueError,
"path escapes user home directory",
auth.override_perm, USER,
os.path.dirname(HOME), perm='w')
# try to re-set an overridden permission
auth.override_perm(USER, self.tempdir, perm='w')
auth.override_perm(USER, self.tempdir, perm='wr')
示例9: start
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def start(self):
self.authorizer = DummyAuthorizer()
if self.config.get('usessl') == 'Yes':
self.logger.debug('Using SSL socket.')
keyfile_path = 'listeners/ssl_utils/privkey.pem'
keyfile_path = ListenerBase.abs_config_path(keyfile_path)
if keyfile_path is None:
self.logger.error('Could not locate %s', keyfile_path)
sys.exit(1)
self.handler = TLS_FakeFTPHandler
self.handler.certfile = keyfile_path
else:
self.handler = FakeFTPHandler
self.handler.banner = self.genBanner()
self.handler.ftproot_path = self.ftproot_path
self.handler.abstracted_fs = FakeFS
self.handler.authorizer = self.authorizer
self.handler.passive_ports = self.expand_ports(self.config.get('pasvports', '60000-60010'))
self.server = ThreadedFTPServer((self.local_ip, int(self.config['port'])), self.handler)
# Override pyftpdlib logger name
logging.getLogger('pyftpdlib').name = self.name
self.server_thread = threading.Thread(target=self.server.serve_forever)
self.server_thread.daemon = True
self.server_thread.start()
示例10: run
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def run(ns):
"""starts the server."""
auth = DummyAuthorizer()
if ns.user is not None:
auth.add_user(ns.user, ns.pswd, ns.path, perm=ns.perm)
else:
auth.add_anonymous(ns.path, perm=ns.perm)
handler = FTPHandler
handler.authorizer = auth
handler.banner = "StaSh v{v} FTP-Server".format(v=_stash.__version__)
address = ("0.0.0.0", ns.port)
server = FTPServer(address, handler)
server.max_cons = 128
server.max_cons_per_ip = 128
# setup logging
logger = logging.getLogger("pyftpdlib")
logger.setLevel(logging.CRITICAL)
logger.propagate = False
# server needs to run in a thread to be killable
thr = threading.Thread(name="FTP-Server Thread", target=server.serve_forever)
thr.daemon = True
thr.start()
print("FTP-Server started on {h}:{p}".format(h=address[0], p=str(address[1])))
try:
while True:
time.sleep(0.2)
except KeyboardInterrupt:
print("Stopping Server...")
server.close_all()
示例11: run
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def run(self):
authorizer = DummyAuthorizer()
authorizer.add_user(self.username, self.password, os.environ['HOME'], perm="elradfmw")
handler = FTPHandler
handler.authorizer = authorizer
self.__server = FTPServer(('0.0.0.0', self.port), handler)
if self.enabled:
ftp_thread = threading.Thread(target=self.__server.serve_forever)
ftp_thread.daemon = True
ftp_thread.start()
示例12: setup_server
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def setup_server(handler, server_class, addr=None):
addr = (HOST, 0) if addr is None else addr
authorizer = DummyAuthorizer()
# full perms
authorizer.add_user(USER, PASSWD, HOME, perm='elradfmwMT')
authorizer.add_anonymous(HOME)
handler.authorizer = authorizer
handler.auth_failed_timeout = 0.001
# lower buffer sizes = more "loops" while transfering data
# = less false positives
handler.dtp_handler.ac_in_buffer_size = 4096
handler.dtp_handler.ac_out_buffer_size = 4096
server = server_class(addr, handler)
return server
示例13: main
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', '.', perm='elradfmwMT')
authorizer.add_anonymous('.')
handler = AntiFloodHandler
handler.authorizer = authorizer
server = FTPServer(('', 2121), handler)
server.serve_forever(timeout=1)
示例14: main
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', '.')
handler = FTPHandler
handler.authorizer = authorizer
server = ThreadedFTPServer(('', 2121), handler)
server.serve_forever()
示例15: main
# 需要导入模块: from pyftpdlib import authorizers [as 别名]
# 或者: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', '.')
handler = FTPHandler
handler.authorizer = authorizer
server = MultiprocessFTPServer(('', 2121), handler)
server.serve_forever()