O AppArmor estava bloqueando a leitura. Eu fui para /etc/apparmor.d/usr.sbin.named e adicionei a linha:
/var/lib/samba/private/named.conf r,
que permitiu o nome para ler o arquivo.
Estou seguindo as instruções em wiki do Samba para configurar o BIND9 DLZ como o backend de DNS para meu Controlador de Domínio do Active Directory. No entanto, não consigo nem mesmo começar named
. Ele quer acesso de gravação a um arquivo, mas não consegue ...
named[886]: /etc/bind/named.conf:9: open: /var/lib/samba/private/named.conf: permission denied
named[886]: loading configuration: permission denied
named[886]: exiting (due to fatal error)
systemd[1]: bind9.service: Main process exited, code=exited, status=1/FAILURE
kernel: [ 5.004922] audit: type=1400 audit(1502211678.138:9): apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/lib/samba/private/named.conf" pid=906 comm="named" requested_mask="r" denied_mask="r" fsuid=114 ouid=0
systemd[1]: bind9.service: Control process exited, code=exited status=1
systemd[1]: bind9.service: Unit entered failed state.
systemd[1]: bind9.service: Failed with result 'exit-code'.
Eu pensei que eu deveria ter errado as permissões de alguma forma, mas executando ls -l /var/lib/samba/private/named.conf
me dá:
-rw-rw-r-- 1 root root 678 Aug 8 17:56 /var/lib/samba/private/named.conf
Como as permissões eram 664, qualquer usuário deveria ter conseguido acessar o arquivo. Mesmo fazendo chown bind:bind
(definitivamente o usuário correto, veja o log do kernel), ou definindo permissões para o 777 não corrige o problema .
A parte intrigante é apparmor="DENIED" operation="open" profile="/usr/sbin/named" name="/var/lib/samba/private/named.conf" pid=906 comm="named" requested_mask="r" denied_mask="r" fsuid=114 ouid=0
.
O que estou perdendo / não entendo?
O AppArmor estava bloqueando a leitura. Eu fui para /etc/apparmor.d/usr.sbin.named e adicionei a linha:
/var/lib/samba/private/named.conf r,
que permitiu o nome para ler o arquivo.
Tags dns permissions server samba