web-dev-qa-db-ja.com

bind9が777の場合にアクセス拒否エラーのために接続を拒否する理由

これらの質問は役に立ちませんでした:

https://askubuntu.com/questions/172030/how-to-allow-bind-in-app-armor
BIND9を開始できません

私はbind9を開始したかったのですが、以下のようにsyslogで拒否された許可を与えることがわかりました。

Feb  8 09:37:24 aname named[27278]: automatic empty zone: A.E.F.IP6.ARPA
Feb  8 09:37:24 aname named[27278]: automatic empty zone: B.E.F.IP6.ARPA
Feb  8 09:37:24 aname named[27278]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Feb  8 09:37:24 aname named[27278]: command channel listening on 127.0.0.1#953
Feb  8 09:37:24 aname named[27278]: command channel listening on ::1#953
Feb  8 09:37:24 aname named[27278]: isc_stdio_open '/var/log/bind9/query.log' failed: permission denied
Feb  8 09:37:24 aname named[27278]: configuring logging: permission denied
Feb  8 09:37:24 aname named[27278]: loading configuration: permission denied
Feb  8 09:37:24 aname named[27278]: exiting (due to fatal error)
Feb  8 09:37:24 aname kernel: [1984823.682079] type=1400 audit(1454924244.439:45): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/query.log" pid=27279 comm="named" requested_mask="c" denied_mask="c" fsuid=109 ouid=0

777のときにpermission errorが表示されるのはなぜですか?

多分それはzonesディレクトリが原因だと思ったので、それもチェックしました:

4 drwxr-sr-x  2 root root 4096 Feb  7 18:45 zones

ゾーンファイルを/usr/sbin/named-checkconfでチェックしましたが、ターミナルにエラーが出力されませんでした。

bind9の内容:

4 -rw-r--r--  1 root root 2389 Jan 18 14:04 bind.keys
4 -rw-r--r--  1 root root  237 Jan 18 14:04 db.0
4 -rw-r--r--  1 root root  271 Jan 18 14:04 db.127
4 -rw-r--r--  1 root root  237 Jan 18 14:04 db.255
4 -rw-r--r--  1 root root  353 Jan 18 14:04 db.empty
4 -rw-r--r--  1 root root  270 Jan 18 14:04 db.local
4 -rw-r--r--  1 root root 3048 Jan 18 14:04 db.root
4 -rw-r--r--  1 root bind  464 Feb  7 17:56 named.conf
4 -rw-r--r--  1 root bind  490 Jan 18 14:04 named.conf.default-zones
4 -rw-r--r--  1 root bind  333 Feb  7 18:47 named.conf.local
4 -rw-r--r--  1 root bind  455 Feb  7 18:33 named.conf.options
4 -rw-r--r--  1 root bind  890 Feb  7 13:22 named.conf.options.bak
4 -rw-r-----  1 bind bind   77 Feb  7 13:22 rndc.key
4 drwxr-sr-x  2 root root 4096 Feb  7 18:45 zones
4 -rw-r--r--  1 root root 1317 Jan 18 14:04 zones.rfc1918

編集2:

ls -las /var/lib/bind/出力:

4 -rw-r--r--  1 root root   53 Feb  7 13:22 bind9-default.md5sum

編集3:
私はapparmorを持っていますが、それはファイルのアクセス許可を混乱させますか?

この質問は私の問題をほぼ解決しました:
https://askubuntu.com/questions/469866/bind-fatal-error-cant-open-custom-log

一部のディレクトリが存在しないため、作成しました。 named.conf.optionsのパスが間違っていたので、存在するファイルを指すように修正しました。

問題が解決しました!

3
ALH

あなたは出力のすぐそこにエラーがあります:

Feb  8 09:37:24 aname kernel: [1984823.682079] type=1400 audit(1454924244.439:45): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/log/bind9/query.log" pid=27279 comm="named" requested_mask="c" denied_mask="c" fsuid=109 ouid=0

追加する

/var/log/bind9/query.log rw,

スタンザから/etc/apparmor.d/usr.sbin.named、apparmorを再起動してサービスをバインドすれば、準備完了です。

また、ログファイルへのファイルシステムのアクセス許可を復元します。

4
Petter H

ファイルの所有権を変更するだけです。

chown bind:bind /var/log/bind9/query.log
0
user1700494