文章詳情頁
apache 如何記錄日志
瀏覽:145日期:2024-06-27 18:43:36
問題描述
在linux系統(tǒng)上,apache是以www-data(默認(rèn))用戶運(yùn)行的,同時(shí)其用戶組也是www-data。
可是我發(fā)現(xiàn)apache的日志目錄/var/log/apache是屬于root的,組是adm
www-data對(duì)該日志目錄是沒有寫權(quán)限的,而且它不是adm組的用戶,甚至連讀權(quán)限都沒有。
但是我們發(fā)現(xiàn)有一個(gè)apache2進(jìn)程是以root運(yùn)行的,應(yīng)該是主進(jìn)程。難道所有子進(jìn)程的日志都是先通過進(jìn)程通信傳遞給主進(jìn)程,然后再記錄的嗎?還是說有其他什么機(jī)制。
問題解答
回答1:我這里沒有 Apache httpd,所以自己寫程序試了試。在 write 時(shí)是不檢查權(quán)限的,也就是說只要日志文件打開成功了,那么再改變用戶 ID(setuid)之后依舊可以向該文件寫入數(shù)據(jù)。當(dāng)然這樣子的話,如何重新打開日志文件是個(gè)問題。你直接去看 Apache httpd 的源碼就好。簡(jiǎn)單地 strace 一下也許會(huì)有發(fā)現(xiàn)。
相關(guān)文章:
1. css - 新手做響應(yīng)式布局, 斷點(diǎn)過后右側(cè)出現(xiàn)空白,求幫助,謝謝。2. javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問題3. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效4. mysql - 查詢字段做了索引為什么不起效,還有查詢一個(gè)月的時(shí)候數(shù)據(jù)都是全部出來的,如果分拆3次的話就沒問題,為什么呢。5. mysql - 記得以前在哪里看過一個(gè)估算時(shí)間的網(wǎng)站6. 大家好,我想請(qǐng)問一下怎么做搜索欄能夠搜索到自己網(wǎng)站的內(nèi)容。7. ID主鍵不是自增的嗎 為什么還要加null8. MySQL中的enum類型有什么優(yōu)點(diǎn)?9. python - 啟動(dòng)Eric6時(shí)報(bào)錯(cuò):’qscintilla_zh_CN’ could not be loaded10. javascript - vue 怎么渲染自定義組件
排行榜

熱門標(biāo)簽