我有一个用 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
)时,我收到以下错误:
block 引用>PermissionError: [Errno 13] Permission denied: '/mydisk/folder/logs/pysftp-20181127-231208.log'
显然,如果我使用
sudo python3 pythonprog.py
运行它,我不会收到此错误。 .我检查了此文件夹的权限:
ls -l
block 引用>drwxrwxrwx+ 2 myuser myuser 4096 Nov 27 22:38 logs
我还用
setfacl
更改了 ACL 。基本上,无论我做什么,错误仍然存在。我如何授予此权限?
最佳答案
该服务正在以某人的身份运行——某人需要写入该文件或文件夹的权限。这不是代码问题,而是权限问题。 sudo 不是运行代码的解决方案。我认为它正在像你一样运行?您可以写入该文件/文件夹吗?
关于python - pysftp 无法创建日志文件 - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53509741/