- pyftpdlib.authorizers.DummyAuthorizer
- add_anonymous(homedir, **kwargs)
- remove_user(username)
- add_user(username,password,homedir,perm=”elr”,msg_login=”Login successful.”, msg_quit=”Goodbye.”)
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 - class pyftpdlib.handlers.FTPHandler(conn, server)
- timeout
客戶端長時間沒反應,就斷開連接,默認300秒
- banner
連接時給客戶端返回的信息,可以自己設置
- max_login_attempts
要是一直登陸錯誤,就斷開(防止暴力攻擊)
- permit_foreign_addresses
是否啓用FXP特性,也就是文件交換協議,從此FTP服務器到另外的FTP服務器,默認False
- masquerade_address
僞裝IP,也就是被動模式,用於NAT之後,比喻服務器在防火牆、路由器後面的情況,默認不開啓
- passive_ports
被動傳輸時指定端口,參數是一個整數列表,默認關閉
- use_gmt_times
使用格林尼治時間,默認是True
- tcp_no_delay
默認是True,廢除擁塞控制,以加快速度
- on_connect()
客戶端連接時調用
- on_disconnect()
客戶端斷開時調用
- on_login(username)
用戶登錄時調用
- on_login_failed(username, password)
用戶登錄失敗時調用
- on_file_sent(file)
傳輸成功時調用,file就是文件名
- on_file_received(file)
接受成功時候調用,file就是文件名
- on_incomplete_file_sent(file)
沒有被完整發送的時候調用
- on_incomplete_file_received(file)
沒有完整接受的時候調用
- class pyftpdlib.handlers.DTPHandler(sock_obj, cmd_channel)
sock_obj 是新建的socket類實例,cmd_channel是pyftpdlib.handlers.FTPHandler的類實例
-
timeout
-
ac_in_buffer_size
-
ac_out_buffer_size
數據接受或者傳輸時候的緩衝大小,默認65536字節
- class pyftpdlib.handlers.ThrottledDTPHandler(sock_obj, cmd_channel)
- read_limit
默認是0,代表不限制接受速度
- write_limit
默認是0,不限制發送速度
- class pyftpdlib.servers.FTPServer(address_or_socket, handler, ioloop=None, backlog=100)
- max_cons
最大連接數,默認是512
- max_cons_per_ip
每個IP的最大連接數,默認值是0,代表沒有限制
- serve_forever(timeout=None, blocking=True, handle_exit=True)
啓動服務器
- close()
關閉當前連接
- close_all()
關閉所有的連接
- class pyftpdlib.filesystems.AbstractedFS(root, cmd_channel)
- root
用戶的主目錄
- cwd
用戶的當前工作目錄
-
validpath(path)
檢查path是否屬於用戶的目錄,如果不是,就返回False
-
open(filename, mode)
封裝了open()函數
-
mkdir(path)
- chdir(path)
- listdir(path)
- rmdir(path)
- remove(path)
- rename(src, dst)
- chmod(path, mode)
- stat(path)
- lstat(path)
- readlink(path)
功能和os模塊相同
-
isfile(path)
islink(path)
isdir(path)
getsize(path)
getmtime(path)
realpath(path) - lexists(path)
功能和os.path模塊相同
-
mkstemp(suffix=”, prefix=”, dir=None, mode=’wb’)
封裝了 tempfile.mkstemp.
- class pyftpdlib.handlers.TLS_FTPHandler(conn, server)
用於實現身份驗證,採用openssl, PyOpenSSL模塊需要先安裝
-
certfile
包含證書的文件路徑,必須指定
-
keyfile
私鑰的路徑
-
tls_control_required
默認False,,爲True的時候,建立加密控制通道,但要先認證
-
tls_data_required
默認False,,爲True的時候,建立加密數據傳輸通道,但要先確定端口
pyftpdlib的API
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.