更改 FTP 服务器的目录(ftplib、pyftpdlib)
Changing directory of FTP server (ftplib, pyftpdlib)
我正在尝试通过 Python 库 pyftpdlib
和 ftplib
.
创建 client/server FTP
我创建了一个服务器如下:
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import os
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", ".", perm="elradfmw")
authorizer.add_anonymous(os.getcwd())
handler = FTPHandler
handler.authorizer = authorizer
address = ('',1024)
server = FTPServer((address), handler)
server.serve_forever()
我连接到服务器:
from ftplib import FTP
import os
ftp = FTP('')
ftp.connect('localhost',1024)
ftp.login(user='user', passwd = '12345')
我可以这样做,因为 python 控制台输出一条消息 "login successful"。
现在的问题是我不确定我在哪个目录以及如何更改目录。
如果我使用 print(ftp.pwd())
我会返回:
'/'
Windows 上的哪个对我来说意义不大。
我假设它是 C:\
但如果我尝试更改目录,
到
ftp.cwd(r"/Users/Moondra/Desktop/")
ftp.cwd(r"Users\Moondra\Desktop")
ftp.cwd(r"\Users\Moondra\Desktop")
我得到:
ftplib.error_perm: 550 No such file or directory.
为什么我在更改目录时遇到问题?
您已将您的 user
植根到您从以下目录启动 FTP 服务器的目录:
authorizer.add_user("user", "12345", ".", perm="elradfmw")
.
表示 "this/current working directory"。这仅用于测试目的,但不适用于生产用途。
如果您想允许用户访问整个驱动器,请将其置于此处。这应该可以做到:
authorizer.add_user("user", "12345", "C:\", perm="elradfmw")
尽管出于安全原因,您应该限制用户。
可能是这样的:
authorizer.add_user("user", "12345", "C:\Users\Moondra", perm="elradfmw")
我正在尝试通过 Python 库 pyftpdlib
和 ftplib
.
我创建了一个服务器如下:
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
import os
authorizer = DummyAuthorizer()
authorizer.add_user("user", "12345", ".", perm="elradfmw")
authorizer.add_anonymous(os.getcwd())
handler = FTPHandler
handler.authorizer = authorizer
address = ('',1024)
server = FTPServer((address), handler)
server.serve_forever()
我连接到服务器:
from ftplib import FTP
import os
ftp = FTP('')
ftp.connect('localhost',1024)
ftp.login(user='user', passwd = '12345')
我可以这样做,因为 python 控制台输出一条消息 "login successful"。
现在的问题是我不确定我在哪个目录以及如何更改目录。
如果我使用 print(ftp.pwd())
我会返回:
'/'
Windows 上的哪个对我来说意义不大。
我假设它是 C:\
但如果我尝试更改目录,
到
ftp.cwd(r"/Users/Moondra/Desktop/")
ftp.cwd(r"Users\Moondra\Desktop")
ftp.cwd(r"\Users\Moondra\Desktop")
我得到:
ftplib.error_perm: 550 No such file or directory.
为什么我在更改目录时遇到问题?
您已将您的 user
植根到您从以下目录启动 FTP 服务器的目录:
authorizer.add_user("user", "12345", ".", perm="elradfmw")
.
表示 "this/current working directory"。这仅用于测试目的,但不适用于生产用途。
如果您想允许用户访问整个驱动器,请将其置于此处。这应该可以做到:
authorizer.add_user("user", "12345", "C:\", perm="elradfmw")
尽管出于安全原因,您应该限制用户。
可能是这样的:
authorizer.add_user("user", "12345", "C:\Users\Moondra", perm="elradfmw")