Назад | Перейти на главную страницу

Ошибки разрешения BIND

Я пытался использовать nsupdate для динамического обновления записей моих серверов имен.

Я получаю сбой сервера при попытке. Это из системных журналов.

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$

Итак, я решил, что это разрешения, поэтому для проверки я дал / var / named и / etc / bind chmod 666

Не помогло, поэтому я создал файл mydomain.com.zone.jnl и chmod 600 и подумал, что это подойдет, я также сделал chown bind: bind и root: bind, но я все равно получаю ту же ошибку в обоих случаях.

Теперь я даже не могу перезапустить привязку из-за этой ошибки

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)

Я действительно не понимаю этих ошибок разрешения, в обоих случаях я пробовал chmod 666 для файлов и chown bind: bind или root: bind. Тем не менее я получаю ошибки.

Вот права каталога

/ 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

/ и т.д. / привязка / зоны

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

Любая помощь или руководство будут очень благодарны, заранее спасибо!

Мне это кажется проблемой AppArmor. Попробуйте временно установить для него разрешительный режим и посмотрите, исчезнет ли проблема.

По умолчанию демон Bind / Named не имеет разрешения на записывать в файлы зоны в / etc. Он может их только читать. Следовательно, процесс nsupdate также не может писать им.

Если вы динамически обновляете свой DNS, вам следует вместо этого хранить файлы зон в / var / lib / bind - https://help.ubuntu.com/14.04/serverguide/dns-configuration.html#dns-primarymaster-configuration

Установщик Apt уже должен был создать этот каталог с правильными разрешениями и контекстом AppArmor.

Сообщение об ошибке говорит само за себя:

/etc/bind/ named.conf.local:9: открыть: /var/ named/dnskeys.conf: в разрешении отказано

В named процесс обычно работает как ограниченный пользователь (возможно, bind), у которого нет доступа к файлу dnskeys.conf (с текущими правами доступа к файлу может получить доступ только пользователь root):

-rw------- 1 корень bind 126 Nov 12 08:53 dnskeys.conf

Либо изменить разрешения в этом файле на 640, чтобы группа bind имеет доступ для чтения,

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

или измените владельца файла на пользователя, запустившего named обработать:

chown bind /var/named/dnskeys.conf

Как отмечали другие, вам обязательно следует НЕ сделать файл доступным для чтения всем, а тем более - для записи.

Помимо разрешений на уровне файловой системы, которые вы упомянули выше, вам необходимо настроить привязку, чтобы разрешить эти удаленные обновления с помощью allow-update директива.

http://www.zytrax.com/books/dns/ch7/xfer.html