3

I want to rotate the logs of a Django / apache2 / wsgi website. But sometimes (not always, which is even more strange) logging.handlers.TimedRotatingFileHandler creates new log files owned by root! So my application doesn't have write access any more to the log, and gives me a server error.

I have specified umask=0007 in my WSGIDaemonProcess setting, but that doesn't help either.

How can that happen? and how to fix it?

4

1 に答える 1

0

mod_wsgi 組み込みモードを使用していたとしても、Apache ソース コードをハッキングしてセキュリティ保護を無効にしてユーザー/グループを根。

最初に、デーモン モードで実行していることを確認し、WSGIDaemonProcess 定義が使用されているかどうかを確認することをお勧めします。

古いバージョンの mod_wsgi を使用していないことも確認してください。3.0 より前の mod_wsgi では、root として実行する場合、インタープリター自体が Apache の親で初期化されますが、サブプロセスが作成された後、アプリケーションのコードは依然としてモータル ユーザーとして実行されます。しかし、そのような古いバージョンの mod_wsgi を使用していて、ローカルの 'sitecustomize.py' を使用したり、'.pth' ファイルをロードしてログをセットアップするという副作用を使用したりするなど、非常に奇妙なことを行っていた場合は、root として何かを実行することができます。すべきではありません。

于 2012-12-19T10:05:36.367 に答える