検索

ホームページ  >  に質問  >  本文

Apache がログを記録する方法

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

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

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

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

怪我咯怪我咯2749日前562

全員に返信(1)返信します

  • 为情所困

    为情所困2017-05-16 17:05:06

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

    返事
    0
  • キャンセル返事