Система: Ubuntu 16.04.3 LTS
Синопсис:
#chmod 777 /etc/bind/slave
#chmod 777 /etc/bind
#service bind9 restart
#tail /var/log/syslog | grep dump
Aug 23 07:14:45 appserver named[25251]: dumping master file: /etc/bind/slave/tmp-IDIdwXAG2I: open: permission denied
Что здесь происходит???
Что происходит, так это то, что named
процесс не может создать файл в /etc/bind/slave/
каталог.
Прежде всего /etc
это действительно довольно необычное место, где обычные службы имеют доступ на запись.
Обычно вы используете каталог в /var/lib
или /var/cache
в зависимости от типа данных.
Что касается того, почему ваши чрезвычайно либеральные разрешения (совсем не хорошая идея) не помогают, я бы предположил Apparmor (скорее для Ubuntu) или SELinux имеет профиль для BIND, который основан на разумных предположениях (см. выше), для которых пути к файлам должны быть доступны для записи named
. Это применяется в дополнение к разрешениям файловой системы.
Я бы посоветовал вам просто переместить доступные для записи файлы в более разумное место.
Ответ выше просто хорошо объяснил причину. Есть относительный путь, определенный в /etc/bind/named.conf.options
, который directory "/var/cache/bind
.
Итак, что я предлагаю сделать, так это сохранить ваши поля подчиненной зоны в более разумном каталоге, который определен в вашем named.conf.local
файл и предоставить право собственности на каталог для привязки группы или дать разрешение на запись для привязки группы,
лайк:
mkdir /var/cache/bind/slaves
chown bind:bind /var/cache/bind/slaves