Эта 2 варианты конфигурации должны помочь вам сделать NTPD
более безопасным:
NTPD_OPTIONS="-g -u ntp:ntp"
NTPD_RUN_CHROOTED="yes"
Объяснение
NTPD_OPTIONS = "- G -U NTP: NTP"
- -G
Устанавливается один раз, когда начинает NTPD, игнорируйте порог по умолчанию, который установлен на 1000. -U NTP: NTP
делает демон, который работает как NTP пользователя и группа. NTPD_RUN_CHROOTED = «ДА»
- делает NTPD Run Chroot , уменьшая повреждения, вызванные эксплойтами. Поскольку NTPD работает как пользователь NTP, и используя NTPDate для регулировки вручную вручную не является хорошей практикой , я не понимаю, почему вы должны беспокоить NTPDate. Чтобы заставить использование запроса вручную Sudo NTPD -GQ
и добавьте следующее в свой / etc / sudoers
:
Ваше имя пользователя All = (root) nopasswd: / usr / usr / usr / SBIN / NTPD -GQ
Проверка/перезапуск обычно выполняется путем написания контрольного скрипта следующим образом:
#!/bin/sh
if ! pgrep -l name-of-executable >/dev/null 2>&1; then
/etc/init.d/your-startup-script.sh
fi
и вызова его каждые N минуты в cron
, например:
*/N * * * * /usr/local/bin/checker-script.sh
Если вы хотите действительно контролировать процесс Haskell во время его выполнения (чтобы вы могли захватить его код выхода или получить уведомление в тот момент, когда он умрет), то вам понадобится более сложная обертка. Обычно я использую для этого Python; его подпроцессный модуль имеет все необходимые инструменты для запуска и мониторинга запущенного подпроцесса.