web-dev-qa-db-fra.com

Openntpd ne commence pas sur Ubuntu 16.04

J'ai un problème après l'installation d'Openntpd sur Ubuntu 16.04.2 x64 (cela peut arriver sur d'autres versions). Le service openntp ne veut pas démarrer dans les journaux, je vois:

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
2
Alex

Pour le bénéfice du lecteur:

Le problème provient d'une installation précédente du paquet ntp. Lorsque ntp est remplacé par openntpd, certains fichiers de configuration sont conservés, notamment /etc/apparmor.d/usr.sbin.ntpd. Ceci bloque alors openntpd de fonctionner correctement. ntp est normalement installé par défaut, ce qui se produit généralement après l'installation de openntpd lorsque apparmor est actif.

La solution est:

Sudo apt-get purge ntp
Sudo /etc/init.d/apparmor reload
Sudo /etc/init.d/openntpd restart

Si vous aimez utiliser apparmor avec openntpd (vous êtes probablement passé à openntpd pour avoir quelque chose de plus sécurisé, non?), Voici ce que j'ai ajouté en tant que /etc/apparmor.d/openntpd (I Je ne sais pas si cela est complet. Cela fonctionne à mes côtés jusqu'à présent):

# 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,
}

Pourquoi ne pas "réparer" /etc/apparmor.d/usr.sbin.ntpd pour openntpd?

Parce que ntp est un monstre de ressources. Il nécessite des trains de permissions, qui ne sont pas nécessaires pour openntpd. La bonne chose à faire est de limiter openntpd à ce dont il a besoin, pas à ce que ntp a besoin.

BTW: La meilleure solution serait probablement que Canonical ajoute un /etc/apparmor.d/usr.sbin.ntpd approprié au paquetage openntpd, qui remplace alors la configuration restante de ntp. On peut considérer cela comme un bogue dans Ubuntu 16.04.

1
Tino

Le problème concernait apparmor et ntpd (pas openntpd). Lorsque openntpd a été installé, ils ont supprimé le paquet par défaut ntpd mais n'ont pas supprimé/édité les règles apparmor /etc/apparmor.d/usr.sbin.ntpd Vous pouvez supprimer des règles ou simplement le corriger en ajoutant des lignes /etc/openntpd/ntpd.conf r, et /{,var/}lib/openntpd/run/ntpd.sock rwl, après la ligne /etc/ntp.conf r, Après cela, redémarrez apparmor et démarrez openntpd.

Sudo service apparmor restart
Sudo service openntpd start

De plus, au lieu d’ajouter une ligne directement à /etc/apparmor.d/usr.sbin.ntpd, vous pouvez l’ajouter à un fichier spécifique au site /etc/apparmor.d/local/usr.sbin.ntpd

0
Alex