文章詳情頁
apache 如何記錄日志
瀏覽:89日期:2024-06-27 18:43:36
問題描述
在linux系統(tǒng)上,apache是以www-data(默認)用戶運行的,同時其用戶組也是www-data。
可是我發(fā)現(xiàn)apache的日志目錄/var/log/apache是屬于root的,組是adm
www-data對該日志目錄是沒有寫權(quán)限的,而且它不是adm組的用戶,甚至連讀權(quán)限都沒有。
但是我們發(fā)現(xiàn)有一個apache2進程是以root運行的,應(yīng)該是主進程。難道所有子進程的日志都是先通過進程通信傳遞給主進程,然后再記錄的嗎?還是說有其他什么機制。
問題解答
回答1:我這里沒有 Apache httpd,所以自己寫程序試了試。在 write 時是不檢查權(quán)限的,也就是說只要日志文件打開成功了,那么再改變用戶 ID(setuid)之后依舊可以向該文件寫入數(shù)據(jù)。當然這樣子的話,如何重新打開日志文件是個問題。你直接去看 Apache httpd 的源碼就好。簡單地 strace 一下也許會有發(fā)現(xiàn)。
相關(guān)文章:
1. android - NavigationView 的側(cè)滑菜單中如何保存新增項(通過程序添加)2. javascript - 微信公眾號網(wǎng)頁使用redux如何管理用戶刷新?3. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)4. tp5 不同控制器中的變量調(diào)用問題5. 這段代碼既不提示錯誤也看不到結(jié)果,請老師明示錯在哪里,謝謝!6. php - 第三方支付平臺在很短時間內(nèi)多次異步通知,訂單多次確認收款7. php7.3.4中怎么開啟pdo驅(qū)動8. ueditor上傳服務(wù)器提示后端配置項沒有正常加載,求助!!!!!9. mysql服務(wù)無法啟動1067錯誤,誰知道正確的解決方法?10. 老師 我是一個沒有學(xué)過php語言的準畢業(yè)生 我希望您能幫我一下
排行榜

熱門標簽