以下の環境でlogwatchを動かして管理したいと思っています.
・CentOS 6.6
・logwatch 7.3.6
ただし,システムの制約上,logwatchの結果をメール送信することが出来ないため,結果は共有ユーザのホームディレクトリに保存する設定にしたいと思っています.
そのため,/usr/share/logwatch/default.conf/logwatch.conf に以下の設定を入れました.
Save = /home/common/logwatch
※commonは共通ユーザ名.
しかし,sudo logwatchなどで実行する際は正常に結果ファイルが保存されるのですが,daily cronでは結果ファイルが保存されず,困っています.
切り分け結果(詳細はコメントに書きます),cronで実行する際にファイル書き込み権限がなく書き込みできていないようでした.
cronで実行する際に書き込み権限を与える方法を教えていただけないでしょうか.
権限不足が原因であることは以下の方法で確認しました.
○ /var/log/cronのログを確認する
→ 確かに実行されている.
run-parts(/etc/cron.daily)[*****]: starting logwatch
run-parts(/etc/cron.daily)[*****]: finished logwatch
○ sudo logwatchを実行してみる
→ /home/common/logwatch に正常に結果のファイルが保存されている.
○ sudo /etc/cron.daily/0logwatchを実行してみる
→ 上記同様,/home/common/logwatch に正常に結果のファイルが保存されている.
○ /etc/cron.daily/0logwatchを書き換え,標準出力・エラーをファイルに保存する設定にし,daily cron実行後にログを見る
→ 標準出力はなし,エラーに以下の内容が出力される
Can't open output file: /home/common/logwatch Permission denied
上記切り分け結果から,daily cronとして実行される時に/home/common/logwatchへの書き込み権限がないようだということが分かりました.
ただ,dailyのcronで実行される時に/home/common/logwatchへアクセス権限を与える方法が分かりません(root権限で実行されるのではないのでしょうか...?)
SELinuxをpermissiveにしてあってもパーミッションのエラーが出る場合がある?
https://www.centos.org/forums/viewtopic.php?f=13&t=48971
SELinuxをpermissiveにしてあってもパーミッションのエラーが出る場合がある?
https://www.centos.org/forums/viewtopic.php?f=13&t=48971
ご回答ありがとうございます.
ご指摘の通り,SELinuxをdisableにすることで解決しました.
ご回答ありがとうございます.
2015/02/20 10:52:40ご指摘の通り,SELinuxをdisableにすることで解決しました.