Разрешение отклонено в открытии файла устройств в сервисе во время начальной загрузки

Я изменяюсь ntp.conf файл ко времени чтения от устройства:

server 127.127.8.0 mode 2 # standard time from device
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 12 

Файл устройств /dev/refclock-0 это - ссылка для файла /dev/mbgclock. Проблема состоит в том, когда я выполняю демона NTP, и это является состоянием, я наблюдаю строку:

PARSE receiver #0: parse_start: open of /dev/refclock-0 failed: Permission denied

Я изменил разрешение refclock-0 к 777 (я знаю, что это грязно, только для теста) и добавляют строку User=root к ntp запускают сценарий, но ошибка все еще остается! Как я могу зафиксировать это? Вот файл /usr/lib/systemd/system/ntpd.service

[Unit]
Description=Network Time Service
After=syslog.target ntpdate.service sntp.service

[Service]
User=root
Type=forking
EnvironmentFile=-/etc/sysconfig/ntpd
ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS
PrivateTmp=true

[Install]
WantedBy=multi-user.target

И вот состояние ntpd сервиса:

● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-09-04 17:09:08 +0430; 16h ago
  Process: 5741 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 5742 (ntpd)
   CGroup: /system.slice/ntpd.service
           └─5742 /usr/sbin/ntpd -u ntp:ntp -g

Sep 04 17:09:08 hardware ntpd[5742]: Listen normally on 2 lo 127.0.0.1 UDP 123
Sep 04 17:09:08 hardware ntpd[5742]: Listen normally on 3 enp3s0 192.168.1.60 UDP 123
Sep 04 17:09:08 hardware ntpd[5742]: Listen normally on 4 lo ::1 UDP 123
Sep 04 17:09:08 hardware ntpd[5742]: Listen normally on 5 enp3s0 fe80::7895:667b:cec:9b2 UDP 123
Sep 04 17:09:08 hardware ntpd[5742]: Listening on routing socket on fd #22 for interface updates
Sep 04 17:09:08 hardware ntpd[5742]: PARSE receiver #0: parse_start: open of /dev/refclock-0 failed: Permission denied
Sep 04 17:09:08 hardware ntpd[5742]: 127.127.8.0 interface 127.0.0.1 -> (none)
Sep 04 17:09:08 hardware ntpd[5742]: 0.0.0.0 c016 06 restart
Sep 04 17:09:08 hardware ntpd[5742]: 0.0.0.0 c012 02 freq_set kernel -9.533 PPM
Sep 04 17:09:10 hardware ntpd[5742]: 0.0.0.0 c515 05 clock_sync
0
задан 4 September 2018 в 22:28

1 ответ

ntp по умолчанию работает в изоляции устройства. Так что на 99% ваш случай будет заблокирован устройством Deny - проверьте вывод dmesg.

Поскольку существует так много потенциальных имен для рефлок, профиль не может просто разрешить /dev/*, тем более что большинство пользователей не используют рефлок.

Поэтому в профиле уже есть настраиваемый файл: /etc/apparmor.d/tunables/ntpd:

#Add your ntpd devices here eg. if you have a DCF clock
# @{NTPD_DEVICE}="/dev/ttyS1"
@{NTPD_DEVICE}="/dev/null"

И в вашем случае следующее должно пройти этот этап:

@{NTPD_DEVICE}="refclock-0"
1
ответ дан 28 October 2019 в 01:03

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

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