J'ai donc suivi le HOWTO Samba4, qui s’est assez bien passé. Le problème que je rencontre est que je ne parviens pas à redémarrer BIND9 lorsque la configuration de samba est incluse dans /etc/bind/named.conf.local
:
include "/var/lib/samba/private/named.conf";
Mais lorsque j'essaie de redémarrer Bind9 avec Sudo /etc/init.d/bind9 restart
, l'erreur s'affiche dans mes journaux:
Oct 18 20:25:00 xxxx kernel: [ 251.397899] type=1400 audit(1350588300.188:16):
apparmor="DENIED" operation="open" parent=1807 profile="/usr/sbin/named"
name="/var/lib/samba/private/named.conf" pid=1810 comm="named" requested_mask="r"
denied_mask="r" fsuid=105 ouid=0
J'ai les règles suivantes dans /etc/apparmor.d/usr.sbin.named
(que je pensais être un peu OTT mais je débogue depuis des heures maintenant)
/var/lib/samba/ rw,
/var/lib/samba/* rw,
/var/lib/samba/private/ rw,
/var/lib/samba/private/* rw,
/var/lib/samba/private/dns/ rw,
/var/lib/samba/private/dns/* rw,
Pour être complet, les permanentes du fichier incriminé sont les suivantes:
-rw-r--r-- 1 root root 384 Oct 17 11:39 named.conf
J'ai essayé de mettre apparmor en mode plainte, en désactivant le profil nommé, et bind9 démarre parfaitement et Samba fonctionne. Mais dès que je redémarre la boîte, elle est à nouveau en panne, et je préférerais comprendre ce qui se passe, puis prendre des mesures de sécurité des serveurs pour que tout fonctionne correctement.
~ Sudo aa-complain /usr/sbin/named
Setting /usr/sbin/named to complain mode.
~ Sudo /etc/init.d/bind9 restart
* Stopping domain name service... bind9
rndc: connect failed: 127.0.0.1#953: connection refused
...done.
* Starting domain name service... bind9
...done.
Toute aide appréciée.
Voici ce que j'ai fait (après quelques essais et erreurs):
$ cat /etc/apparmor.d/local/usr.sbin.named
# Site-specific additions and overrides for usr.sbin.named.
# For more details, please see /etc/apparmor.d/local/README.
/var/lib/samba/private/named.conf r,
/var/lib/samba/private/dns.keytab kwr,
/usr/lib/samba/** m,
/var/lib/samba/private/dns/** krw,
/var/tmp/** krw,
/dev/urandom rw,
$ service apparmor reload
$ service bind9 start
Cela devrait bien fonctionner alors.