Ubuntu 16.04 сервер NTP не может считать файл ключей

Я прочитал это руководство форума и много ответов, чтобы сделать с серверами NTP.

Я должен использовать аутентификацию, но когда я перезапускаю сервис ntp, я получаю ошибку в журнале, говоря "ntpd[1710]: authreadkeys: файл/etc/ntp.keys: Разрешение отклонено"

Это - мой файл конфигурации:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.uk.pool.ntp.org iburst
server 1.uk.pool.ntp.org iburst
server 2.uk.pool.ntp.org iburst
server 3.uk.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

restrict 127.0.0.1
restrict ::1

#enable auth
keys /etc/ntp.keys

trustedkey 17
controlkey 17
requestkey 17

Я подтвердил, что файл читаем, и попробовал его во многих полномочиях (400, 600, 700, 777).

Как я могу заставить свой сервер читать аутентификационные ключи?

1
задан 13 April 2017 в 15:24

2 ответа

У меня была такая же проблема 19.10. Он показывает последовательные записи в /var/log/syslog вроде этого...

Jun 10 12:34:56 HOSTNAME ntpd[12345]: authreadkeys: file '/etc/ntp.keys': Permission denied
Jun 10 12:34:56 HOSTNAME kernel: [...] audit: type=1400 audit(...): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/etc/ntpkey_MD5key_HOSTNAME.1234567890" pid=12345 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

Просматривая, к каким файлам в /etc AppArmor разрешает ntpd доступ. ..

$ grep /etc/ntp /etc/apparmor.d/usr.sbin.ntpd
  /etc/ntp.conf r,
  /etc/ntp.conf.dhcp r,
  /etc/ntpd.conf r,
  /etc/ntpd.conf.tmp r,
  /etc/ntp.keys r,
  /etc/ntp/** r,
  /etc/ntp.drift rwl,
  /etc/ntp.drift.TEMP rwl,
  /etc/ntp/drift* rwl,

... Я видел, что включены /etc/ntp.keys и /etc/ntp/**. Однако при использовании ntp-keygen для генерации симметричных ключей он создает ntp.keys как символическую ссылку на имя файла, включая имя хоста и отметку файла...

$ ls -l /etc/ntp*
-rw-r--r-- 1 root root 123 Jun 10 12:34 /etc/ntp.conf
-rw-r----- 1 root root 456 Jun 10 12:34 /etc/ntpkey_MD5key_HOSTNAME.1234567890
lrwxrwxrwx 1 root root  33 Jun 10 12:34 /etc/ntp.keys -> ntpkey_MD5key_HOSTNAME.1234567890

Очевидно, что AppArmor не следует символическим ссылкам в своих правилах, так что вам нужно либо...

  • Сделать ntp.keys жесткой/единственной ссылкой вместо символической, или...
  • Переместите файл ключа куда-нибудь в каталог /etc/ntp/, или...
  • Мой подход был вдохновлен комментарием на дубликат поста этого вопроса. Я создал файл /etc/apparmor.d/local/usr.sbin.ntpd с таким содержимым...
    /etc/ntpkey_MD5key_HOSTNAME.1234567890 р,
    
    ...затем поручил AppArmor перезагрузить профиль для ntpd...
    sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.ntpd
    
    ...и после перезапуска ntpd...
    перезапустить службу sudo ntp
    
    ... он успешно загрузил файл ключа.
1
ответ дан 10 June 2020 в 22:58

Я вращал экземпляр Ubuntu 14.04 и заметил, что сообщение брони приложения в журналах после того же "разрешения отклонило" сообщение.

Отключение профиля ntp для apparmor решило вопрос.

0
ответ дан 8 December 2019 в 06:48

Другие вопросы по тегам:

Похожие вопросы: