2005年06月29日
川俣晶の縁側ソフトウェア技術雑記 total 4487 count

namedを安易にシェルから手動起動することで起こる問題

Written By: 川俣 晶連絡先

 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にはトラブルがあって悩ましい。完全復帰はまだ無理です。しかも、トラブル調査で本業を圧迫しています。