昨日、サーバーの1つにCentOS 5.4をインストールしましたが、推測できない理由で、公式のBIND/namedパッケージの起動に問題があるようです。
これが何が起こるかです:
[root@hal init.d]# service named start
Starting named:
Error in named configuration:
/etc/named.conf:57: open: named.root.hints: permission denied
[FAILED]
問題の行、コンテキストのディレクトリオプション:
// further up in the file:
directory "/var/named";
// line 57:
include "named.root.hints";
あなたと同じように、私の最初の反応は/var/named/named.root.hints、/var/named、および/ varの権限をチェックして、named
ユーザーがそれを読み取れることを確認することでした。各レベルの権限は次のとおりです。
drwxr-xr-x 19 root root 4096 Nov 3 02:05 var
drwxr-x--- 5 root named 4096 Nov 3 02:36 named
-rw-r--r-- 1 named named 524 Mar 29 2006 named.root.hints
許可に関しては、すべて問題ないようです。 /var/named
ディレクトリが指定されたユーザーによって書き込み可能である場合、同じエラーが発生します。 named
ユーザーがbash経由でログインすることを一時的に許可し、ルートから名前付きにsu
して、実際にcat /var/named/named.root.hints
が正常に実行できることを確認しました。 。 (はい、心配しないでください。シェルをnologinに戻しました)。
私の最後の試みは、BINDがnamed
ユーザーアカウントで実行でき、手動で実行した場合は問題なく起動できることを示しました。
[root@hal ~]# named -u named -g
03-Nov-2009 16:31:02.021 starting BIND 9.3.6-P1-RedHat-9.3.6-4.P1.el5 -u named -g
03-Nov-2009 16:31:02.021 adjusted limit on open files from 1024 to 1048576
03-Nov-2009 16:31:02.021 found 2 CPUs, using 2 worker threads
03-Nov-2009 16:31:02.021 using up to 4096 sockets
03-Nov-2009 16:31:02.028 loading configuration from '/etc/named.conf'
03-Nov-2009 16:31:02.030 using default UDP/IPv4 port range: [1024, 65535]
03-Nov-2009 16:31:02.031 using default UDP/IPv6 port range: [1024, 65535]
03-Nov-2009 16:31:02.034 listening on IPv4 interface lo, 127.0.0.1#53
03-Nov-2009 16:31:02.034 listening on IPv4 interface eth0, 10.0.0.5#53
03-Nov-2009 16:31:02.034 listening on IPv4 interface eth1, ww.xx.yy.zz#53
03-Nov-2009 16:31:02.040 command channel listening on 127.0.0.1#953
03-Nov-2009 16:31:02.040 command channel listening on ::1#953
03-Nov-2009 16:31:02.040 ignoring config file logging statement due to -g option
03-Nov-2009 16:31:02.041 zone 0.in-addr.arpa/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.042 zone 0.0.127.in-addr.arpa/IN/localhost_resolver: loaded serial 1997022700
03-Nov-2009 16:31:02.042 zone 255.in-addr.arpa/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.042 zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN/localhost_resolver: loaded serial 1997022700
03-Nov-2009 16:31:02.043 zone localdomain/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.043 zone localhost/IN/localhost_resolver: loaded serial 42
03-Nov-2009 16:31:02.043 zone x.y.z.in-addr.arpa/IN/internal: loaded serial 1
03-Nov-2009 16:31:02.044 zone x.y.z/IN/internal: loaded serial 2
03-Nov-2009 16:31:02.045 running
これを解決するには、どのタイプとサイズの銃を使用する必要がありますか?自動弾薬のあるものがいいのですが、最悪の場合、肩にフィットするはずです。もちろん、私は提案を受け入れます。
他の誰かが同じ問題を抱えている場合に備えて、これを投稿したかった:
SELinuxを無効にした後は、1日待つのではなく、必ずすぐに再起動してください。
BINDが問題なく起動するようになりました。私は今眠りにすすり泣いている。
Redhatベースのシステム(おそらく他のシステム)では、/ etc/sysconfig/namedはROOTDIR =/var/namesed/chrootを定義できます。これはあなたが思っていることを実行します。 bind-chrootパッケージは、/ var/named/chrootの下にのみディレクトリ構造を設定します。 ROOTDIRがそこで定義されていて、bind-chrootがインストールされていない場合、そのエラーが表示されると思います。
-デイブ