6 votes

Pourquoi bind9 donne une erreur de connexion refusée pour une erreur de permission refusée lorsqu'il est en 777

Ces questions n'ont pas aidé :

https://askubuntu.com/questions/172030/how-to-allow-bind-in-app-armor
Impossible de démarrer BIND9

Je voulais démarrer bind9 et j'ai vu qu'il donne "permission denied" dans syslog comme ci-dessous :

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

Pourquoi donne-t-il une erreur de permission quand c'est 777 ?

J'ai pensé que peut-être c'était dû au répertoire zones donc je l'ai aussi vérifié :

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

J'ai vérifié les fichiers de zone avec /usr/sbin/named-checkconf mais aucune erreur n'a été affichée dans le terminal.

Contenu de 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

EDIT 2:

ls -las /var/lib/bind/ output:

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

EDIT 3:
J'ai apparmor, est-ce que cela perturbe les autorisations de fichiers ?

Cette question a presque résolu mon problème :
https://askubuntu.com/questions/469866/bind-fatal-error-cant-open-custom-log

Certains répertoires n'étaient pas présents alors je les ai créés. Et le chemin dans named.conf.options était incorrect, je les ai corrigés pour pointer vers un fichier qui existe.

Problème résolu !

9voto

Vous avez l'erreur juste là dans votre sortie :

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

Ajoutez une

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

Stanza à /etc/apparmor.d/usr.sbin.named, redémarrez les services apparmor et bind, et vous êtes bon pour y aller.

Et rétablissez les permissions du système de fichiers pour le fichier journal.

0voto

user1700494 Points 1632

Il suffit de changer la propriété du fichier :

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

0voto

David Okwii Points 274

J'ai simplement désactivé et supprimé apparmor https://support.plesk.com/hc/en-us/articles/213909965-How-to-disable-AppArmor-

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X