python - pysftp 无法创建日志文件 - 权限被拒绝

标签 python linux python-3.x ubuntu paramiko

我有一个用 Python 3 编写的小型服务,它使用 pysftp:

with pysftp.Connection(
    host=host,
    username=connection_data["user"],
    port=connection_data["port"], log=log_file, cnopts=cnopts
) as srv:

当我运行它( python3 pythonprog.py )时,我收到以下错误:

PermissionError: [Errno 13] Permission denied: '/mydisk/folder/logs/pysftp-20181127-231208.log'

显然,如果我使用 sudo python3 pythonprog.py 运行它,我不会收到此错误。 .

我检查了此文件夹的权限:

ls -l

drwxrwxrwx+ 2 myuser myuser 4096 Nov 27 22:38 logs

我还用 setfacl 更改了 ACL 。基本上,无论我做什么,错误仍然存​​在。我如何授予此权限?

最佳答案

该服务正在以某人的身份运行——某人需要写入该文件或文件夹的权限。这不是代码问题,而是权限问题。 sudo 不是运行代码的解决方案。我认为它正在像你一样运行?您可以写入该文件/文件夹吗?

关于python - pysftp 无法创建日志文件 - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53509741/

相关文章:

python - 多处理 AsyncResult.get() 在 Python 3.7.2 中挂起,但在 3.6 中不挂起

python - 如何安装 six.moves.xmlrpc_client?

linux - 如何为我的linux系统下的每个人设置环境变量?

python - Jupyter笔记本: module not found even after pip install

java - 写入文件~

linux - Awk 不能在 bash 脚本中工作

Python:有策略地遍历 0-9 的十位数字

python - 查找字符串 Python 中的最大连续出现次数

python - matplotlib 使用什么 GUI 库?

python - 使用 scipy 确定 "bottleneck"图像区域