1月 072014
 
シェアする

今回logrotateがエラーをはいていたので、logrotate -vdを用いて動作検証を行ったところ以下のエラーが含まれていた。

error: roundcubemail:3 unknown option 'su' -- ignoring line
error: roundcubemail:3 unexpected text

これは、/etc/logrotate.d/roundcubemailの3行目の記述「su」が「unknown option」となっていることを示す。

/etc/logrotate.d/roundcubemailの記述は以下の通り

# cat -n /etc/logrotate.d/roundcubemail
1 /var/log/roundcubemail/errors {
2     missingok
3     su root apache
4     notifempty
5     size 30k
6     create 0660 root apache
7 }
#

ここで、利用している環境を書いておく。

  • RoundCubeMail ver0.9.5
  • logrotate ver3.7.8

unknown option ‘su’  のエラーは、

/etc/logrotate.d/roundcubemailに記載がある「su root apache」の記述が理解できない

ために発生しています。

調べたところ、logrotateの設定ファイルで「su」が利用できるのは logrotate 3.8.0 以上の場合
3.8.0から新たに追加されたオプションだとのこと。

Oh, that’s a new feature with 3.8.x.  Whoops.  I’ll get a fix out.
https://bugzilla.redhat.com/show_bug.cgi?id=753983

3.7.9 -> 3.8.0
– added “dateyesterday” option (see man page)
– fixed crash when config file had exactly 4096*N bytes
– added WITH_ACL make option to link against -lacl and preserve ACLs
during rotation
– added “su” option to define user/group for rotation. Logrotate now
      skips directories which are world writable or writable by group
      which is not “root” unless “su” directive is used.
– fixed CVE-2011-1098: race condition by creation of new files
– fixed possible shell injection when using “shred” directive (CVE-2011-1154)
– fixed escaping of file names within ‘write state’ action (CVE-2011-1155)
– better ‘size’ directive description
– fixed possible buffer-overflow when reading config files
– NetBSD/FreeBSD compilation fixes
– Solaris compilation fixes
http://svn.fedorahosted.org/svn/logrotate/tags/r3-8-7/CHANGES

上記引用サイトからの情報をまとめると、以下の通りになる。

  • “su”オプションは3.8.0から追加された
  • 3.8.0からは、ログディレクトリが誰でも書き込めるもしくはroot以外のグループが書き込める状態で、且つ
    “su”オプションがない場合はローテーションの対象外となる

以上から、このエラーはlogrotateのバージョンが古い(3.8.0未満である)ためにおきるエラーであることがわかる。

/etc/logrotate.d/roundcubemailの3行目をコメントアウトすることでエラーをなくすことができるが、記述が無視されていることを示すエラー(しかもデバッグじゃないと出てこないエラー)なのでコメントアウトを行う必要はない。というかしないほうがいい

理由は、上記まとめにあるとおりで、/var/log/roundcubemailがroot以外のグループが書き込めるパーミッションに設定されているため、logrotateのバージョンが3.8.0以上になったときにlogrotate対象外となってしまうからだ。

# ls -ld /var/log/roundcubemail/
drwxrwxr-x. 2 root apache 4096 1月 7 12:51 2014 /var/log/roundcubemail/
#

今回は、この問題はそっと触らずおいておくこことにする。

以上

 

このエントリーをはてなブックマークに追加

  2 コメント

  1. おはようございます。
    roundcubemail?使ったことがないです。

  2. こんにちは
    round cube mail は無料でインストールできるWebメールです(^^)

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ