Tips記事
» 2001年11月28日 00時00分 UPDATE

BINDの「couldn't open pid file '....named.pid': Permission denied」エラーは?

[木田佳克,ITmedia]

 BIND9のデーモンnamedが起動できない場合,tail /var/log/messagesなどと指定して次のようなエラーが見られることがある。

named[460]: couldn't open pid file '/var/run/named.pid': Permission denied
named[460]: exiting (due to early fatal error)

 このエラーは,Linuxカーネル2.2.x上でnamedデーモンのpid「named.pid」ファイルが起動時に書き込まれる際,「/var/run/」ディレクトリの書き込み権限が合わないため記録されるものだ。通常,/var/run/ディレクトリはroot権限になっているが,BIND9がroot以外の権限で起動される場合(これが普通だ),パーミッションエラーとなってしまう。

 この問題を解消するには,BIND9のコンパイル時に「./configure --disable-threads」としてノンスレッドのnamedを生成指定するか,/var/runディレクトリのユーザー,およびグループを「named」に変更すればよい(後者はnamedユーザーで起動させる場合の例)。

 しかし,いくらLinuxカーネル2.2.x系の制限だとはいえ,BIND9のためだけにこのような対処をするのは躊躇してしまうとの意見もある。その点では,chrootにて解決する方法がスマートかもしれない(chrootは回を改めて紹介したい)。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ