erros de permissão BIND

3

Estou tentando usar o nsupdate para atualizar dinamicamente os registros de meus servidores de nomes.

Eu recebo um serverfail quando eu o tento. Isso é dos syslogs.

Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: signer "www.mydomain.com" approved
Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: updating zone 'mydomain.com/IN': adding an RR at 'client$
Nov 12 08:00:53 ps133045 named[14314]: /etc/bind/zones/mydomain.com.zone.jnl: create: permission denied
Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: updating zone 'mydomain.com/IN': error: journal open fai$

Então eu achei que era permissões, então para testar eu dei / var / named e / etc / bind chmod 666

Não ajudei, então criei o arquivo mydomain.com.zone.jnl e o chmod 600 e pensei que faria, eu também fiz chown bind: bind e root: bind, mas ainda recebo o mesmo erro ambos os casos.

Agora não consigo nem reiniciar o bind devido a esse erro

Nov 12 08:40:10 ps133045 named[21169]: loading configuration from '/etc/bind/named.conf'
Nov 12 08:40:10 ps133045 named[21169]: /etc/bind/named.conf.local:9: open: /var/named/dnskeys.conf: permission denied
Nov 12 08:40:10 ps133045 named[21169]: loading configuration: permission denied
Nov 12 08:40:10 ps133045 named[21169]: exiting (due to fatal error)

Eu realmente não entendo esses erros de permissão, em ambos os casos eu tentei chmod 666 nos arquivos e chown bind: bind ou root: bind. Ainda assim, recebo os erros.

Aqui estão os direitos de diretório

/ var / named

drw-rw-rw-  2 root bind  121 Nov 12 08:53 .
drwxr-xr-x 15 root root 4.0K Nov 11 16:24 ..
-rw-------  1 root root   59 Nov 11 16:48 Kwww.mydomain.com.+157.17183.key
-rw-------  1 root root  165 Nov 11 16:49 Kwww.mydomain.com.+157.17183.private
-rw-------  1 root bind  126 Nov 12 08:53 dnskeys.conf

/ etc / bind

drwxrwsrwx   3 root bind 4.0K Nov 11 17:31 .
drwxr-xr-x 115 root root 8.0K Nov 10 04:59 ..
-rw-r--r--   1 root root 2.5K Oct 20 10:46 bind.keys
-rw-r--r--   1 root root  237 Oct 20 10:46 db.0
-rw-r--r--   1 root root  271 Oct 20 10:46 db.127
-rw-r--r--   1 root root  237 Oct 20 10:46 db.255
-rw-r--r--   1 root root  353 Oct 20 10:46 db.empty
-rw-r--r--   1 root root  270 Oct 20 10:46 db.local
-rw-r--r--   1 root root 3.0K Oct 20 10:46 db.root
-r--r--r--   1 root bind    3 Nov 10 05:07 jam.sh
-rw-r--r--   1 root bind  463 Nov 11 05:15 named.conf
-rw-r--r--   1 root bind  490 Oct 20 10:46 named.conf.default-zones
-rwxr-xr-x   1 root bind  503 Nov 12 09:01 named.conf.local
-rwxr-xr-x   1 root bind  462 Nov 11 17:30 named.conf.local.bak
-rw-r--r--   1 root bind  572 Oct 20 10:46 named.conf.options
-rw-r-----   1 bind bind   77 Nov 10 04:59 rndc.key
drw-rwSrw-   2 root bind  109 Nov 12 08:26 zones
-rw-r--r--   1 root root 1.3K Oct 20 10:46 zones.rfc1918

/ etc / bind / zones

drw-rwSrw- 2 root bind  109 Nov 12 08:26 .
drwxrwsrwx 3 root bind 4.0K Nov 11 17:31 ..
-r--r--r-- 1 root bind  402 Nov 11 11:07 mydomain.com.zone
-rw-rw-rw- 1 bind bind    0 Nov 12 08:26 mydomain.com.zone.jnl
-r--r--r-- 1 root bind  377 Nov 11 11:06 rev.241.205.33.66.in-addr.arpa

Qualquer ajuda ou orientação seria muito apreciada, obrigado antecipadamente!

    
por Thuy 12.11.2012 / 18:16

3 respostas

2

A mensagem de erro é, na verdade, bastante autoexplicativa:

/etc/bind/named.conf.local:9: open: /var/named/dnskeys.conf: permission denied

O processo named é normalmente executado como um usuário restrito (provavelmente bind ), que não tem acesso ao arquivo dnskeys.conf (com as permissões atuais, o arquivo só pode ser acessado pelo usuário root ):

-rw------- 1 root bind 126 Nov 12 08:53 dnskeys.conf

Altere as permissões nesse arquivo para 640, para que o grupo bind tenha acesso de leitura ,

chmod g+r /var/named/dnskeys.conf

ou altere o proprietário do arquivo para o usuário que está executando o processo named :

chown bind /var/named/dnskeys.conf

Como outros apontaram, você definitivamente deve NÃO tornar o arquivo legível para o mundo, muito menos para o mundo.

    
por 12.11.2012 / 18:43
4

Isso me parece um problema do AppArmor. Tente configurá-lo como permissivo temporariamente e veja se o problema desaparece.

Por padrão, o daemon Bind / Named não tem permissão para escrever nos arquivos de zona em / etc. Só pode lê-los. Portanto, o processo nsupdate também não pode escrever para eles.

Se você está dinamicamente atualizando seu DNS, você deve armazenar seus arquivos de zona em / var / lib / bind - link

O instalador do Apt já deve ter criado esse diretório com as permissões corretas e o contexto do AppArmor.

    
por 28.10.2016 / 11:40
0

Além das permissões de nível de sistema de arquivos mencionadas acima, você precisa configurar a vinculação para permitir essas atualizações remotas usando a diretiva allow-update .

link

    
por 12.11.2012 / 18:36