文章詳情頁
apache 如何記錄日志
瀏覽:222日期:2024-06-27 18:43:36
問題描述
在linux系統上,apache是以www-data(默認)用戶運行的,同時其用戶組也是www-data。

可是我發現apache的日志目錄/var/log/apache是屬于root的,組是adm

www-data對該日志目錄是沒有寫權限的,而且它不是adm組的用戶,甚至連讀權限都沒有。
但是我們發現有一個apache2進程是以root運行的,應該是主進程。難道所有子進程的日志都是先通過進程通信傳遞給主進程,然后再記錄的嗎?還是說有其他什么機制。
問題解答
回答1:我這里沒有 Apache httpd,所以自己寫程序試了試。在 write 時是不檢查權限的,也就是說只要日志文件打開成功了,那么再改變用戶 ID(setuid)之后依舊可以向該文件寫入數據。當然這樣子的話,如何重新打開日志文件是個問題。你直接去看 Apache httpd 的源碼就好。簡單地 strace 一下也許會有發現。
相關文章:
1. android - 使用百度sdk調用SDKInitializer.initialize(this)時報錯?2. javascript - 最近用echarts做統計圖時遇到兩個問題!!3. javascript - react熱加載的一段代碼4. html5 - 用h5本地存儲是否安全?5. 基于Spring MVC Java的配置無法正常工作控制臺顯示無錯誤,但我的jsp頁面未顯示6. javascript - webpack-dev-server和webpack沖突嗎7. 微信公眾號在線生成二維碼帶參數怎么搞?8. android - 優酷的安卓及蘋果app還在使用flash技術嗎?9. 淺談Vue使用Cascader級聯選擇器數據回顯中的坑10. myeclipse中修改了javaweb的web.xml文件,為什么有時候會自動重新部署生效,有時就不會自動呢?
排行榜

網公網安備