我正在尝试使用pyftpdlib通过ftp提供文件。我能够运行一个示例服务器,但我正在寻找一种方法来更改工作目录的用户登录后的权利。
目前的情况是,登录后用户PWD总是返回'/‘(根目录):
ftp> pwd
257 "/" is the current directory. 我希望在用户登录服务器后,自动更改其目录,让说'test‘,这样登录后返回PWD:
ftp> pwd
257 "/test" is the current directory. 我查看了文档,发现有on_login()处理程序,但没有示例如何使用它。
任何想法都会有帮助。
我正在添加示例代码:
import os
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', homedir='c:\\temp', perm='elradfmwMT')
handler = FTPHandler
handler.authorizer = authorizer
address = ('', 21)
server = FTPServer(address, handler)
server.serve_forever()
if __name__ == '__main__':
main()我还有c:\temp\test文件夹,我希望自动切换到该文件夹,而不将其设置为根目录。根目录应保留为c:\temp
发布于 2021-06-07 20:55:51
只需将homedir参数更改为所需的路径:
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', 'pwd', homedir='/test', perm='elradfmwMT')
handler.authorizer = authorizer
server = FTPServer(('', 2121))
server.serve_forever()
if __name__ == "__main__":
main()https://stackoverflow.com/questions/67871701
复制相似问题