システムは次のとおりです。
Debian GNU/Linux 8.2 (jessie)
BIND 9.9.5-9+deb8u3-Debian (Extended Support Version)
named.conf.options:
options {
directory "/var/cache/bind";
key-directory "/etc/bind/keys";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
dnssec-dnskey-kskonly yes;
sig-validity-interval 21 16;
inline-signing yes;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
// permit lookup of unknown dns names
recursion no;
// allow dynamicly new zones
allow-new-zones yes;
};
キャッシュファイル/var/cache/bind/3bf305731dd26307.nzf
には権利0744があり、bind:bindが所有しています。
すべてが期待どおりに機能します。ゾーン、統計、ロードキー、その他すべてを追加できます。ただし、以下を除きます。
rndc delzone {ZoneName}
このコマンドを(コンソールのrootとして)トリガーすると、rndc: 'delzone' failed: permission denied
が表示されます。
ログには何も表示されません。
私は本当にここで立ち往生しています-この許可エラーが発生する理由を誰かが知っていますか?
問題は、元のキャッシュファイル/var/cache/bind/3bf305731dd26307.nzf
を変更していたことでした。
rndc addzone
の後のすべてのエントリを、named.confに含めた自分のファイル構造に削除しました。 rndc reload
の後、エントリが元のキャッシュファイルに存在しなくなった場合、rndc delzone
を介してゾーンを削除する方法はありません。権限を取り戻すには、ゾーンファイルの構成文字列[〜#〜] must [〜#〜]は、/var/cache/bind/3bf305731dd26307.nzf
が元のキャッシュファイルrndc reload
にある場合引き金になった。 bindにはこの内部が必要なようです。
したがって、/var/cache/bind/3bf305731dd26307.nzf
の内容がそれ自体を示しているように、このファイルを手動で編集しないでください。rndc
を介してのみ編集してください。