У меня есть проблема после установки Openntpd на Ubuntu 16.04.2 x64 (это может произойти на другой версии). Сервис openntp не хочет запускаться в журналах, которые я вижу:
Apr 14 12:00:00 my-host kernel: [24.6] type=1400 audit(1.2:1): apparmor="DENIED" operation="open" parent=1 profile="/usr/sbin/ntpd" name="/etc/openntpd/ntpd.conf" pid=1526 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Проблема была с apparmor и ntpd (не openntpd), когда openntpd установил, они удалили пакет по умолчанию ntpd, но не удаляли/редактировали правила apparmor /etc/apparmor.d/usr.sbin.ntpd
, можно удалить правила или просто зафиксировать его путем добавления строк /etc/openntpd/ntpd.conf r,
и /{,var/}lib/openntpd/run/ntpd.sock rwl,
после строки /etc/ntp.conf r,
После того перезапуска apparmor и запустить openntpd.
sudo service apparmor restart
sudo service openntpd start
Также вместо того, чтобы добавить строку непосредственно к /etc/apparmor.d/usr.sbin.ntpd
можно добавить его для расположения определенного файла /etc/apparmor.d/local/usr.sbin.ntpd
В пользу читателя:
Проблема происходит от предыдущей установки пакета ntp
. Когда ntp
заменяется openntpd
, это разбрасывает некоторые файлы конфигурации, одно из этого /etc/apparmor.d/usr.sbin.ntpd
. Это затем блоки openntpd
от выполнения правильно. ntp
обычно устанавливается по умолчанию, таким образом, это обычно всегда происходит после установки openntpd
когда apparmor
активно.
Решение:
sudo apt-get purge ntp
sudo /etc/init.d/apparmor reload
sudo /etc/init.d/openntpd restart
Если Вам нравится использовать apparmor
с openntpd
(Вы, вероятно, переключились на openntpd
иметь что-то более безопасное, правильно?), вот то, что я добавил как /etc/apparmor.d/openntpd
(Я не знаю, завершено ли это. Это работает рядом до сих пор):
# vim:syntax=apparmor
#include <tunables/global>
/usr/sbin/ntpd {
#include <abstractions/base>
#include <abstractions/nameservice>
#include <abstractions/user-tmp>
/etc/openntpd/ntpd.conf r,
/var/lib/openntpd/run/ntpd.sock rw,
/var/lib/openntpd/db/ntpd.drift rw,
capability sys_time,
capability sys_nice,
capability sys_chroot,
capability setgid,
capability setuid,
capability kill,
}
Почему бы не "зафиксировать" /etc/apparmor.d/usr.sbin.ntpd
для openntpd
?
Поскольку ntp
монстр ресурса. Этому нужны целые составы полномочий, которые не нужны для openntpd
. Правильный поступок должен ограничить openntpd
к тому, в чем это нуждается, не что ntp
потребности.
BTW: вероятно, лучшее решение состояло бы в том, чтобы иметь Канонический, добавляет надлежащее /etc/apparmor.d/usr.sbin.ntpd
к пакету openntpd
, который затем переопределяет левых по конфигурации от ntp
. Можно считать это ошибкой в Ubuntu 16.04.