python - pyftpdlib make os.makedirs 权限被拒绝

标签 python linux

我正在阅读一个基于pyftpdlib的ftp平台代码,该代码无法在我的Linux上运行。 我使用 sudo 来确保权限。

当 pyftpdlib 运行我的代码,然后我的代码运行 os.makedirs 时,这会引发权限错误。

我可以在没有 pyftpdlib 的情况下在其他 python 代码中运行它。

这是回溯:

  File "/usr/lib64/python2.7/asyncore.py", line 83, in read
    obj.handle_read_event()
  File "/usr/lib64/python2.7/asyncore.py", line 444, in handle_read_event
    self.handle_read()
  File "/usr/lib64/python2.7/asynchat.py", line 158, in handle_read
    self.found_terminator()
  File "pyftpdlib/ftpserver.py", line 2230, in found_terminator
    self.process_command(cmd, arg)
  File "pyftpdlib/ftpserver.py", line 2296, in process_command
    method(*args, **kwargs)
  File "pyftpdlib/ftpserver.py", line 3193, in ftp_PASS
    rst = self.authorizer.validate_authentication(self.username, line)
  File "ftp9/auth.py", line 42, in validate_authentication
    self._group_info.update(api)
  File "ftp9/group.py", line 64, in update
    self._update_fs()
  File "ftp9/group.py", line 143, in _update_fs
    walk(self._root, config.FTP_ROOT)
  File "ftp9/group.py", line 141, in walk
    walk(i, pjoin(rootdir, i.name))
  File "ftp9/group.py", line 125, in walk
    os.makedirs(pjoin(rootdir, i))
  File "/usr/lib64/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
  OSError: [Errno 13] Permission denied: '/data/ftp/\xe6\x9c\xac\xe7\xa7\x91\xe7\x94\x9f/1997\xe7\xba\xa7'

最佳答案

此代码将在Linux用户“ftp”上运行,因此它没有文件夹的权限。您应该 chown 授予许可。

关于python - pyftpdlib make os.makedirs 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871535/

相关文章:

python - 如何使用 python 2.7 64 位在 virtualenv 中安装 pywin32?

python - Flask - 使用 DELETE 得到 500 个错误

linux - grep 包含 "+"的变量

regex - 在一个文件中出现 Bash

linux - 编译包含非内核头文件的 linux 内核 (2.6) 模块

python - 处理 OCR 导入

python - 实时视频处理设计问题

python - 提高绩效以返回值(value)

无法打开共享对象文件: No such file or directory | including libbpf with userspace program

linux - AWK 如何修改此代码以打印 num 个实例而不是 0 和 1