Tendo problemas para fazer com que o Samba4 e o Bind9 trabalhem juntos por causa do apparmor

2

Então, acompanho o HOWTO do Samba4, que foi razoavelmente bem. O problema que estou tendo é que não consigo reiniciar o BIND9 quando a configuração do samba está incluída em /etc/bind/named.conf.local :

include "/var/lib/samba/private/named.conf";

Mas quando tento reiniciar o Bind9 com sudo /etc/init.d/bind9 restart , recebo o erro nos meus registros:

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

Eu tenho as seguintes regras em /etc/apparmor.d/usr.sbin.named (que eu achava que eram um pouco OTT, mas tenho depurado há horas)

    /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,

Para completar, os perms no arquivo incorreto são:

    -rw-r--r-- 1 root root  384 Oct 17 11:39 named.conf

Eu tentei colocar o apparmor no modo de reclamação, desabilitando o perfil nomeado, e o bind9 inicia perfeitamente e o Samba funciona. Mas assim que eu reinicio a caixa, ela está quebrada de novo, e eu prefiro entender o que está acontecendo, então tirar pedaços da segurança dos servidores para fazer as coisas funcionarem.

    ~ 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.

Qualquer ajuda apreciada.

    
por Dan 19.10.2012 / 16:54

1 resposta

2

Foi o que fiz (após algumas tentativas e erros):

$ 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

Deve funcionar bem então.

    
por Srecko 16.08.2013 / 18:28