本文整理汇总了Python中pyftpdlib.authorizers.DummyAuthorizer.add_user方法的典型用法代码示例。如果您正苦于以下问题:Python DummyAuthorizer.add_user方法的具体用法?Python DummyAuthorizer.add_user怎么用?Python DummyAuthorizer.add_user使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyftpdlib.authorizers.DummyAuthorizer
的用法示例。
在下文中一共展示了DummyAuthorizer.add_user方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: run
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def run(self):
"""Start the FTP Server for pulsar search."""
self._log.info('Starting Pulsar Search Interface')
# Instantiate a dummy authorizer for managing 'virtual' users
authorizer = DummyAuthorizer()
# Define a new user having full r/w permissions and a read-only
# anonymous user
authorizer.add_user(self._config['login']['user'],
self._config['login']['psswd'], '.',
perm=self._config['login']['perm'])
authorizer.add_anonymous(os.getcwd())
# Instantiate FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
handler.abstracted_fs = PulsarFileSystem
# Define a customized banner (string returned when client connects)
handler.banner = "SKA SDP pulsar search interface."
# Instantiate FTP server class and listen on 0.0.0.0:7878
address = (self._config['address']['listen'],
self._config['address']['port'])
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 256
server.max_cons_per_ip = 5
# start ftp server
server.serve_forever()
示例2: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('admin','123456',os.getcwd(),perm='elradfmw')
for user in auth.data:
s1=user.split('=')[1]
ret=s1.split(',')
authorizer.add_user(ret[0].replace("'",""),ret[1],os.getcwd(),perm=ret[2].strip().replace("'",""))
#aauthorizer.add_anonymous(os.getcwd())
dtp_handler = ThrottledDTPHandler
dtp_handler.read_limit=30720
dtp_handler.write_limit=30720
handler = FTPHandler
handler.authorizer = authorizer
handler.dtp_handler=dtp_handler
logging.basicConfig(filename='%s/myftp/logs/pyftpd.log'%BASE_DIR,level=settings.level)
handler.banner = 'pyftpdlib based ftpd ready'
address=('',2121)
server=MultiprocessFTPServer(address,handler)
server.max_conns=settings.maxconn
server.max_conns_pre_ip=settings.maxconnperip
server.serve_forever()
示例3: __init__
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def __init__(self, addr=None):
os.mkdir ('server')
os.chdir ('server')
try:
HOST = socket.gethostbyname ('localhost')
except socket.error:
HOST = 'localhost'
USER = 'user'
PASSWD = '12345'
HOME = getcwdu ()
threading.Thread.__init__(self)
self.__serving = False
self.__stopped = False
self.__lock = threading.Lock()
self.__flag = threading.Event()
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
# lowering buffer sizes = more cycles to transfer data
# = less false positive test failures
self.handler.dtp_handler.ac_in_buffer_size = 32768
self.handler.dtp_handler.ac_out_buffer_size = 32768
self.server = self.server_class(addr, self.handler)
self.host, self.port = self.server.socket.getsockname()[:2]
os.chdir ('..')
示例4: custom_server
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def custom_server(self, start=1):
# TODO: finish me
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
# Generate random username and password for ftp session
logging.debug('generating arguments')
if not os.path.isdir(self.path):
logging.info('%s create directory: %s' %
('device.name', self.path))
os.makedirs(self.path)
# Add ftp user
authorizer = DummyAuthorizer()
logging.debug('generated args: user=%s password=%s path=%s perm=%s' %
(self.user, self.password, self.path, self.password))
authorizer.add_user(self.user, self.password, self.path,
perm=self.perm)
handler = FTPHandler
handler.authorizer = authorizer
# Instantiate FTP server class and listen
logging.debug('%s ftp server listen on: %s %s' %
('device.name', self.address, self.port))
addr = (self.address, self.port)
server = FTPServer(addr, handler)
# Set a limit for connections
server.max_cons = 32
server.max_cons_per_ip = 5
# Start ftp server
logging.debug('starting disposable ftp server')
server.serve_forever(timeout=600, blocking=False)
示例5: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', '.')
handler = FTPHandler
handler.authorizer = authorizer
server = MultiprocessFTPServer(('', 2121), handler)
server.serve_forever()
示例6: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
# Instantiate a dummy authorizer for managing 'virtual' users
authorizer = DummyAuthorizer()
# Define a new user having full r/w permissions
authorizer.add_user('test', 'test','./', perm='elradfmwM')
# Define a read-only anonymous user
authorizer.add_anonymous('./')
# Instantiate TLS FTP handler class
handler = TLS_FTPHandler
handler.authorizer = authorizer
handler.certfile = './server.crt'
handler.keyfile = './server.key'
# Define a customized banner (string returned when client connects)
handler.banner = "Welcome to test's FTPS."
# Instantiate FTP server class and listen on 127.0.0.1:21
address = ('127.0.0.1', 21)
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 256
server.max_cons_per_ip = 5
# start ftp server
server.serve_forever()
示例7: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main(profiles):
authorizer = DummyAuthorizer()
# 将每个profile映射为一个用户
uploadTmpRoot = tempfile.gettempdir()
for p, c in profiles.items():
# perm权限定义说明:
# Read permissions:
# "e" = change directory (CWD, CDUP commands)
# "l" = list files (LIST, NLST, STAT, MLSD, MLST, SIZE commands)
# "r" = retrieve file from the server (RETR command)
# Write permissions:
# "a" = append data to an existing file (APPE command)
# "d" = delete file or directory (DELE, RMD commands)
# "f" = rename file or directory (RNFR, RNTO commands)
# "m" = create directory (MKD command)
# "w" = store a file to the server (STOR, STOU commands)
# "M" = change mode/permission (SITE CHMOD command) New in 0.7.0
# 注意:投产时权限似乎应限制为只写,即:'w'
uploadTmp = path.join(uploadTmpRoot, p)
print uploadTmp
if not path.isdir(uploadTmp):
mkdir(uploadTmp)
authorizer.add_user(p, c["upload"].get("password", ""), uploadTmp, perm="ledw")
handler = UploadHandler
handler.authorizer = authorizer
handler.banner = "OSO fileserv"
address = ("", int(getenv("FTP_PORT", "2121")))
logging.basicConfig(filename="logs/ftp.log", level=logging.INFO)
server = FTPServer(address, handler)
server.max_cons = 256
server.max_cons_per_ip = 5
server.serve_forever()
示例8: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
port = 3334
user = ''
password = ''
l = sys.argv
if (len(l) > 1 and l[1]):
user = l[1]
if (len(l) > 2 and l[2]):
password = l[2]
if (len(l) > 3 and l[3]):
port = int(l[3])
authorizer = DummyAuthorizer()
authorizer.add_user(user, password, os.getcwd(), perm='elradfmwM')
authorizer.add_anonymous('.')
handler = TLS_FTPHandler
handler.certfile = CERTFILE
handler.authorizer = authorizer
server = FTPServer(("127.0.0.1", port), handler)
server.serve_forever()
示例9: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main(args):
user = DEFAULT_USER
password = DEFAULT_PASSWORD
ip = DEFAULT_IP
port = DEFAULT_PORT
directory = args.directory
permissions = DEFAULT_PERM
if args.user:
user = args.user
if args.password:
password = args.password
if args.ip:
ip = args.ip
if args.port:
port = args.port
authorizer = DummyAuthorizer()
authorizer.add_user(user, password, directory, perm=permissions)
#handler = TLS_FTPHandler
#handler.certfile = 'server.crt'
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer((ip, port), handler)
server.serve_forever()
示例10: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
"""
Main ftp server code
"""
with open("ABSOLUTE_PATH_OF_config.yaml", 'r') as stream:
config = yaml.load(stream)
authorizer = DummyAuthorizer()
if config.get('user'):
for each_user in config['user']:
if not os.path.exists(each_user['details']['home_directory']):
os.makedirs(each_user['details']['home_directory'])
authorizer.add_user(
each_user['details']['username'],
each_user['details']['password'],
each_user['details']['home_directory'],
perm=each_user['details']['permission']
)
authorizer.add_anonymous('.')
handler = MyHandler
handler.certfile = config['certfile']
handler.authorizer = authorizer
handler.masquerade_address = config['masquerade_address']
# requires SSL for both control and data channel
handler.tls_control_required = True
handler.tls_data_required = True
handler.passive_ports = range(60000, 60099)
server = FTPServer(('', 21), handler)
server.serve_forever()
示例11: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
# Instantiate a dummy authorizer for managing 'virtual' users
authorizer = DummyAuthorizer()
# Define a new user having full r/w permissions
authorizer.add_user("user_name", "pass_word", "./", perm="elradfmwM", msg_login="welcome", msg_quit="bye")
# Define a read-only anonymous user
authorizer.add_anonymous("./")
# Instantiate FTP handler class
handler = FTPHandler
handler.authorizer = authorizer
handler.max_login_attempts = 3
handler.permit_foreign_addresses = True
handler.tcp_no_delay = True
# Define a customized banner (string returned when client connects)
handler.banner = "Welcome to my FTP."
# Instantiate FTP server class and listen on 127.0.0.1:21
address = ("0.0.0.0", 2121)
server = FTPServer(address, handler)
# set a limit for connections
server.max_cons = 128
server.max_cons_per_ip = 2
absfs = AbstractedFS(u"./", handler)
absfs.cwd = u"/bbb/ss/"
# start ftp server
server.serve_forever()
示例12: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", ".")
handler = FTPHandler
handler.authorizer = authorizer
server = ThreadedFTPServer(("", 2121), handler)
server.serve_forever()
示例13: serve
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def serve(self):
# current directory
exfil_directory = os.path.join(os.getcwd(), "data")
loot_path = exfil_directory + "/"
# Check to make sure the agent directory exists, and a loot
# directory for the agent. If not, make them
if not os.path.isdir(loot_path):
os.makedirs(loot_path)
try:
authorizer = DummyAuthorizer()
authorizer.add_user(
self.username, self.password,
loot_path, perm="elradfmwM")
handler = FTPHandler
handler.authorizer = authorizer
# Define a customized banner (string returned when client connects)
handler.banner = "Connecting to Egress-Assess's FTP server!"
try:
server = FTPServer(('', self.port), handler)
server.serve_forever()
except socket.error:
print "[*][*] Error: Port %d is currently in use!" % self.port
print "[*][*] Error: Please restart when port is free!\n"
sys.exit()
except ValueError:
print "[*] Error: The directory you provided may not exist!"
print "[*] Error: Please re-run with a valid FTP directory."
sys.exit()
return
示例14: Server
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
class Server(threading.Thread):
def __init__(self, ip, path, users, port, password):
super(Server, self).__init__()
self.ip = ip
self.path = path
self.users = users
self.port = port
self.auth = DummyAuthorizer()
self.handler = CustomFTP(self.auth, self.port, path, password)
# self.handler.authorizer = self.auth
print 'starting server on port %d' % (self.port)
[self.add_user(self.path, u, password) for u in self.users]
def start_thread(self):
self.start()
return self
def add_user(self, path, user, password):
pathn = os.path.join(path, str(self.port))
if not os.path.exists(pathn): os.mkdir(pathn)
self.auth.add_user(user, password, pathn, perm="elr") # elradfmw
def run(self):
self.server = ThreadedFTPServer((self.ip, self.port), self.handler)
self.server.serve_forever()
示例15: main
# 需要导入模块: from pyftpdlib.authorizers import DummyAuthorizer [as 别名]
# 或者: from pyftpdlib.authorizers.DummyAuthorizer import add_user [as 别名]
def main():
port = 3334
user = ''
password = ''
l = sys.argv
if (len(l) > 1 and l[1]):
user = l[1]
if (len(l) > 2 and l[2]):
password = l[2]
if (len(l) > 3 and l[3]):
port = int(l[3])
authorizer = DummyAuthorizer()
authorizer.add_user(user, password, os.getcwd(), perm='elradfmwM')
#authorizer.add_anonymous("/home/nobody")
handler = FTPHandler
handler.authorizer = authorizer
logging.basicConfig(level=logging.DEBUG)
server = FTPServer(("127.0.0.1", port), handler)
server.serve_forever()