文章詳情頁
apache 如何記錄日志
瀏覽:127日期: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對該日志目錄是沒有寫權限的,而且它不是adm組的用戶,甚至連讀權限都沒有。
但是我們發(fā)現(xiàn)有一個apache2進程是以root運行的,應該是主進程。難道所有子進程的日志都是先通過進程通信傳遞給主進程,然后再記錄的嗎?還是說有其他什么機制。
問題解答
回答1:我這里沒有 Apache httpd,所以自己寫程序試了試。在 write 時是不檢查權限的,也就是說只要日志文件打開成功了,那么再改變用戶 ID(setuid)之后依舊可以向該文件寫入數(shù)據(jù)。當然這樣子的話,如何重新打開日志文件是個問題。你直接去看 Apache httpd 的源碼就好。簡單地 strace 一下也許會有發(fā)現(xiàn)。
相關文章:
1. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?2. angular.js - webpack build后的angularjs路由跳轉問題3. java - Activity中的成員變量被賦值之后,Activity被回收的時候內存才會被釋放嗎4. 為什么bindClass訪問不了的?5. 老師,flex-shrink: 1; 按視頻操作,不會自動縮放6. 數(shù)組按鍵值封裝!7. php由5.3升級到5.6后,登錄網站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?8. 請求一個數(shù)據(jù)返回內容為空或者錯誤如何再次請求幾次9. 使用list和each配合,的作業(yè),輸出一行后,如何換行10. Discuz! Q 有人用過嗎?
排行榜

熱門標簽