Ubuntu 16.04.2 x64にOpenntpdをインストールすると問題が発生します(他のバージョンでも発生する可能性があります)。サービス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
読者の利益のために:
この問題は、パッケージ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,
}
openntpd
の/etc/apparmor.d/usr.sbin.ntpd
ではないのはなぜですか?
ntp
はリソースモンスターであるためです。それは、openntpd
には必要ない許可のトレインロードを必要とします。正しいことは、openntpd
が必要なものではなく、ntp
を必要なものに制限することです。
ところで、おそらく最良の解決策は、Canonicalに適切な/etc/apparmor.d/usr.sbin.ntpd
をパッケージopenntpd
に追加させ、それがntp
から残った設定をオーバーライドすることです。これはUbuntu 16.04のバグと考えることができます。