heyheytower

日々のメモです。誰かのお役に立てれば幸いです。

ubutu 12.04 における ntpd ( Ver. 4.2.6p3 ) の、 syslog 以外へのログ出力エラーについて

f:id:maijou2501:20160909003932p:plain

目的

表題の件を実行するにあたり、下記2方法が一般的であるが

1. /etc/default/ntp の下記指定
 NTPD_OPTS='-l /var/log/ntp.log'

2. /etc/ntp.conf の下記指定
 logfile /var/log/ntp.log

※ rsyslog の facility では daemon なので、これによるシンプルな分離はできません。


上記 1,2 の方法では、下記のように syslog 以外へのログ出力が行えませんでした。

ntpd[1349]: Cannot open log file /var/log/ntp.log

その問題解決を行った。

syslog ログ出力確認と対処

指定ログファイルが開けなかったとの出力の次に、下記ログ出力が存在した。

kernel: [ 4455.348040] type=1400 audit(1401108239.882:29): apparmor="DENIED" operation="capable" parent=1341 profile="/usr/sbin/ntpd" pid=1349 comm="ntpd" pid=1349 comm="ntpd" capability=1 capname="dac_override"

これは、最近 OpenStack でハマったこと - ishikawa84g's blog にもある通り、AppAmor のエラー出力なので、許可を追加し ntp サービスを再起動し、対処完了としました。

sudo echo "  capability dac_override," /etc/apparmor.d/usr.sbin.ntpd
sudo service ntp restart

参考に、作成されたログファイル情報を下記に示します。

$ ls -la /var/log/ntp.log 
-rw-r--r-- 1 root root 775  5月 26 22:09 /var/log/ntp.log


以上。