gpt4 book ai didi

logging - 为什么 logging.handlers.TimedRotatingFileHandler 创建 root 拥有的新日志文件?

转载 作者:行者123 更新时间:2023-12-02 05:03:37 26 4
gpt4 key购买 nike

我想轮换 Django/apache2/wsgi 网站的日志。但有时(不总是,这更奇怪) logging.handlers.TimedRotatingFileHandler 会创建新的日志文件,归根所有!所以我的应用程序不再具有对日志的写访问权限,并给我一个服务器错误。

我在我的 WSGIDaemonProcess 设置中指定了 umask=0007,但这也无济于事。

怎么会这样?以及如何解决?

最佳答案

这不应该发生,即使您使用的是 mod_wsgi 嵌入式模式,因为没有 Python 应用程序代码会以 root 身份运行,除非您破解了 Apache 源代码以禁用其中的安全保护以防止您设置 User/组到根。

首先会建议您验证您是否在守护进程模式下运行,因此是否正在使用 WSGIDaemonProcess 定义。

还要确保您没有使用旧版本的 mod_wsgi。在 3.0 之前的 mod_wsgi 中,当以 root 身份运行时,解释器本身将在 Apache 父进程中初始化,但是在创建子进程后,您的应用程序的任何代码仍将以普通用户身份运行。但是,如果使用这样一个较旧的 mod_wsgi 版本并且您正在做一些非常奇怪的事情,例如使用本地“sitecustomize.py”或加载“.pth”文件以设置日志记录的副作用,那么您可能会设法以 root 身份运行这些东西你不应该。

关于logging - 为什么 logging.handlers.TimedRotatingFileHandler 创建 root 拥有的新日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13944864/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com