nan.piedey.co.jpのFreeBSD 4.5を設定していて、非常にアホらしいトラブルに遭遇したのでメモっておきます。(=我が身の間抜けの証明)
現象 §
/var/log/messagesに以下のようなメッセージが記録される。
Jun 28 16:55:01 nan named[274]: zone xml.gr.jp/IN: refresh: could not set file modification time of 'slave/db.xml.gr.jp': permission denied
原因 §
namedはbindというアカウントで実行されるように構成されていた。
しかし、ファイル/etc/namedb/slave/db.xml.gr.jpのオーナーはbindではなくrootになっていた。
これにより、上記のメッセージがログに記録された。
このファイルのオーナーがrootになっていたのは、named.confを書き終えた後、手動でシェル上からテスト起動した際に、それを行った時のアカウントが設定されたものと推定される。
解決 §
/etc/namedb/slave/のファイルをroot権限で全削除。
その後、rebootコマンドによってサーバを再起動。
マスターDNSサーバから転送された情報によって新規にファイルが再作成され、その際、正しくオーナーはbindに設定された。
(たぶんchownでオーナーをbindに書き換えてもOKと推定)
教訓 §
うかつにシェルからnamedリターンのようなコマンドを打ってはいけない、と言うことですね。
過去に、何となくそれで通っていたので、つい踏襲してしまいましたが、それは厳密に正しい起動条件ではありません。
それにしても、まだいくつかnan.piedey.co.jpにはトラブルがあって悩ましい。完全復帰はまだ無理です。しかも、トラブル調査で本業を圧迫しています。