我的系統是Mandarke9.1
我在/etc/syslog.conf裡面多加了一行
mail.=info /var/log/mail/daily_mesg
檔案是我自行先建立的..並給chmod 666的權限..
-rw-rw-rw- 1 root root 878007 Aug 16 09:07 daily_mesg
重新啟動syslogd之後..log有正確的寫入沒問題...
可是他卻會把權限改成
-rw-r----- 1 root root 875915 Aug 16 09:07 daily_mesg
如此一來...我在程式裡面要去讀取的時候..
就會權限不足了..
我有man了一下syslogd的線上文件...裡面有提到下面這行..
Syslogd doesn't change the filemode of opened logfiles at any stage of process.
意思不是說不會去更改權限嗎??
為什麼還會更改呢??
因為我用perl寫的CGI要放在網頁跑..
所以當程式要去讀取daily_mesg的時候..是用apache的權限去存取的...
所以會無法正確的執行...
我試著用下列方式去解決問題..
1.把daily_mesg的owner改成apache,可是當syslogd寫紀錄進檔案的時候,又會自動把owner改成root...所以這個方法不行..
2.我現在用很消極的作法,利用cron每分鐘去跑一次chmod 666 daily_mesg,但是每分鐘還是會有短暫的時間無法正確執行,直到下一次cron再執行才可以..
請問各位學長...有方法可以解決嗎??
感激不盡..