/var/log/portage/elog/summary.log logrotate error
しばらく前に logratate をアップグレードして以来、以下のようなエラーが出ていた。
error: skipping "/var/log/portage/elog/summary.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
summary.log のパーミッションの関係でエラーを吐いているらしい。
実際にパーミッションを見に行ったらこんな感じ。
$ ls -la /var/log/portage/elog/ drwxrws--- 2 portage portage 4096 Aug 30 03:47 . drwxrwsr-x 3 portage portage 4096 Jul 22 2010 .. -rw-rw-r-- 1 root portage 1493 Aug 30 03:50 summary.log -rw-rw-r-- 1 root portage 1373 Jul 11 06:19 summary.log-20110716.gz -rw-rw-r-- 1 root portage 263 Jul 17 12:16 summary.log-20110723.gz -rw-rw-r-- 1 root portage 1084 Aug 2 18:54 summary.log-20110803.gz -rw-rw-r-- 1 root portage 17713 Aug 25 16:27 summary.log-20110828
対処方法
logrotate の設定で以下のように su で所有権の設定をして、ついでにファイルの所有権も portage/portage になおしてやる (もしくは逆に logrotate の設定とディレクトリの所有権を root/portage で合わせてもいいと思う) 。
$ cat /etc/logrotate.d/elog-save-summary /var/log/portage/elog/summary.log { su portage portage missingok nocreate delaycompress } $ sudo chown portage:portage /var/log/portage/elog/* $ ls -la /var/log/portage/elog/ drwxrws--- 2 portage portage 4096 Aug 30 03:47 . drwxrwsr-x 3 portage portage 4096 Jul 22 2010 .. -rw-rw-r-- 1 portage portage 2148 Aug 30 03:57 summary.log -rw-rw-r-- 1 portage portage 1373 Jul 11 06:19 summary.log-20110716.gz -rw-rw-r-- 1 portage portage 263 Jul 17 12:16 summary.log-20110723.gz -rw-rw-r-- 1 portage portage 1084 Aug 2 18:54 summary.log-20110803.gz -rw-rw-r-- 1 portage portage 17713 Aug 25 16:27 summary.log-20110828
エラーを吐かなくなる。
確認方法
件のエラーが消えているはず。
$ sudo /usr/sbin/logrotate -v /etc/logrotate.conf ・ ・ ・ rotating pattern: /var/log/portage/elog/summary.log weekly (4 rotations) empty log files are rotated, old logs are removed switching euid to 250 and egid to 250 considering log /var/log/portage/elog/summary.log log does not need rotating switching euid to 0 and egid to 0 ・ ・ ・