Вопрос или проблема
Я настроил конфигурацию так, чтобы ISC DHCP мог обновлять BIND9 динамически. Я провел несколько тестов и обнаружил с помощью less /var/log/syslog | grep bind
, что:
2025-01-10T17:10:54.058005+01:00 aeg-prd-domaincontroller named[10262]: /etc/bind/db.gelosa.eu.jnl: create: permission denied
Ошибка ясна, но… ls -l /etc/ | grep bind
drwxrwsrwx 2 bind bind 4096 Jan 10 16:33 bind
Я не понимаю… Любая помощь будет оценена.
Спасибо,
Attilio
РЕДАКТИРОВАНО
Я использую Ubuntu 24.04.01
ls -la /etc/bind
total 64
drwxrwsrwx 2 bind bind 4096 Jan 10 16:33 .
drwxr-xr-x 113 root root 4096 Jan 8 21:18 ..
-rw-rw-rw- 1 bind bind 2403 Jul 16 20:16 bind.keys
-rw-rw-rw- 1 bind bind 255 Jan 25 2024 db.0
-rw-rw-rw- 1 bind bind 271 Jan 25 2024 db.127
-rw-rw-rw- 1 bind bind 493 Jan 8 17:26 db.192
-rw-rw-rw- 1 bind bind 237 Jan 25 2024 db.255
-rw-rw-rw- 1 bind bind 353 Jan 25 2024 db.empty
-rw-rw-rw- 1 bind bind 455 Jan 9 16:41 db.gelosa.eu
-rw-rw-rw- 1 bind bind 270 Jan 25 2024 db.local
-rw-rw-rw- 1 bind bind 458 Jan 8 19:17 named.conf
-rw-rw-rw- 1 bind bind 498 Jan 25 2024 named.conf.default-zones
-rw-rw-rw- 1 bind bind 228 Jan 9 07:28 named.conf.local
-rw-rw-rw- 1 bind bind 878 Jan 9 07:18 named.conf.options
-rw-rw-rw- 1 bind bind 100 Jan 3 18:27 rndc.key
-rw-rw-rw- 1 bind bind 1317 Jan 25 2024 zones.rfc1918
ps auxw|fgrep named
bind 10462 0.0 1.0 432076 21504 ? Ssl 17:22 0:01 /usr/sbin/named -f -u bind
attilio 10946 0.0 0.1 6544 2304 pts/4 S+ 18:06 0:00 grep -F --color=auto named
Ответ или решение
Проблема с ошибкой "create: permission denied" при настройке динамического обновления BIND9 от ISC DHCP может вызвать недоумение, особенно если права доступа к каталогу и файлам, как кажется, настроены правильно. Давайте более детально разберем возможные причины и решения этой проблемы.
Форма (F) — Описание проблемы
Вы настроили сервер BIND9 с поддержкой динамических обновлений от DHCP на Ubuntu 24.04.01. Ошибка "permission denied" указывает, что процесс named
, который попытается создать файл журнала db.gelosa.eu.jnl
, не имеет необходимых прав доступа. Это напоминает, что даже с правильными правами каталога и файлов, существуют и другие факторы, влияющие на доступ.
Ожидания (O) — Ожидаемый результат
Ожидается, что ваш сервер должен принимать обновления и записывать их в журнал без ошибок. Следовательно, отделенный процесс named
, запущенный с пользователем bind
, должен иметь достаточные права на записи в системных файлах.
Решение (R) — Пошаговое решение проблемы
-
Проверка прав доступа: Убедитесь, что права доступа к файлам действительно соответствуют нужным требованиям. Каталог
/etc/bind
имеет праваdrwxrwsrwx
, что означает полные права для всех, однако это не всегда гарантирует отсутствие других ограничений. -
Контроль безопасности AppArmor/SELinux: Если AppArmor или SELinux активированы, они могут блокировать доступ, несмотря на существующие права. Узнайте статус AppArmor:
sudo aa-status
Если статус активен, временно пробуйте отключить:
sudo systemctl stop apparmor
Затем проверьте, исчезла ли ошибка. Для SELinux:
sestatus
Если активен, временно переключите в режим
permissive
и проверьте результат. -
Локальные и системные настройки:
- Убедитесь, что ваш пользователь
bind
имеет необходимые системные привилегии. - Проверьте конфигурационные файлы
/etc/bind/named.conf.options
, чтобы убрать возможные ограничения на запись.
- Убедитесь, что ваш пользователь
Элементы (E) — Важные детали
- Проверяйте логи на наличие других ошибок, которые могут указывать на конфигурационные проблемы.
- Используйте команды с повышенными правами, такие как
sudo
, для точной диагностики. - Убедитесь, что все изменения сохраняются и службы перезапускаются командой:
sudo systemctl restart bind9
История (S) — Заключение
Вы разобрались со спецификой ошибки и проблемой прав доступа. После выполнения предложенных шагов ваш сервер должен корректно обрабатывать динамические обновления от DHCP. Поддержание корректной конфигурации прав доступа и активных служб безопасности системы повышает устойчивость вашей настройки BIND9.