首页 > 解决方案 > OSError:[Errno 13] 尝试运行 python3 -m pyftpdlib -p 21 时出现权限被拒绝消息

问题描述

我用过pip3 install pyftpdlib,它似乎安装正确。
当我运行python3 -m pyftpdlib -p 21输出看起来像:

Traceback (most recent call last):
  File "/usr/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/kali/.local/lib/python3.7/site-packages/pyftpdlib/__main__.py", line 122, in <module>
    main()
  File "/home/kali/.local/lib/python3.7/site-packages/pyftpdlib/__main__.py", line 112, in main
    ftpd = FTPServer((options.interface, options.port), FTPHandler)
  File "/home/kali/.local/lib/python3.7/site-packages/pyftpdlib/servers.py", line 118, in __init__
    self.bind_af_unspecified(address_or_socket)
  File "/home/kali/.local/lib/python3.7/site-packages/pyftpdlib/ioloop.py", line 1018, in bind_af_unspecified
    raise socket.error(err)
OSError: [Errno 13] Permission denied

我添加none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0fstab文件中,但它什么也没做。

另外,我可能把它安装到了错误的地方。这对您来说是否正确:

kali@kali:~/.cache/pip/wheels/69/f8/37/059165ed5bf71d7d824ac4f792009823361e159a47f4469420$ ls

pyftpdlib-1.5.6-py3-none-any.whl

我尝试在 root 中运行并得到了这个:

root@kali:~# python3 -m pyftpdlib -p 21
/usr/bin/python3: No module named pyftpdlib

标签: pythonserverftppyftpdlib

解决方案


通常这些错误可以通过以管理员身份运行命令来解决。
以管理员身份运行未经验证的软件时应格外小心,因为它可能会危及您的计算机。

但无论如何,您似乎正在尝试运行 FTP 服务器。这是一篇关于为什么只有 root 可以监听低于 1024 的端口的文章。这个链接可能会被重新定义,但在那之前,这是一个不错的信息来源。

后来在评论中我们发现您正在使用的库已以用户身份安装,因此通过pip以管理员身份安装也有帮助:)


推荐阅读