Apache がログを記録する方法
怪我咯
怪我咯 2017-05-16 17:03:06
0
1
580

Linux システムでは、Apache は www-data (デフォルト) ユーザーとして実行され、そのユーザー グループも www-data です。

しかし、Apache ログ ディレクトリ /var/log/apache は root に属し、グループは adm であることがわかりました

www-data にはログ ディレクトリへの書き込み権限がありません。また、adm グループのユーザーではなく、読み取り権限さえありません。

しかし、ルートとして実行されている apache2 プロセスが存在することがわかりました。これがメインプロセスであるはずです。すべての子プロセスのログは、まずプロセス通信を通じてメインプロセスに渡されてから記録されますか?それとも何か別の仕組みがあるのでしょうか?

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(1)
为情所困

ここには Apache httpd がないので、自分でプログラムを書いて試してみました。 write 时是不检查权限的,也就是说只要日志文件打开成功了,那么再改变用户 ID(setuid の後でもデータはファイルに書き込むことができます)。もちろんこの場合、ログファイルをどうやって開き直すかが問題になります。 Apache httpd のソース コードを見てください。単純な痕跡から何かが明らかになるかもしれません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート