Температура жесткого диска не будет отображаться через Интернет

Я пытаюсь отобразить температуру своего ИП на веб-сайте, к которому я могу получить доступ в любое время в любом месте.

До сих пор мне удавалось работать с процессором и графическим процессором. Однако моя температура жесткого диска не будет отображаться в браузере. Он отлично работает в терминале.

Вот картинка:

Образ

Как вы заметили, у меня не отображался временный графический процессор, однако это было исправлено с помощью следующей команды:

sudo usermod -G video www-data

Однако мне не удалось заставить это работать на smartmoxntools.

Кто-нибудь знает, как заставить это работать?

Кроме того, безопасно ли иметь их на внешнем веб-сайте? Могут ли хакеры внедрить php-код для запуска команд оболочки, используя его?

10

Решение

чтобы запустить привилегированную команду root на веб-сайте, вам нужно поместить www-данные в ваш / etc / sudoers, чтобы позволить www-данным запускаться от имени root для этой команды, вот строка, которая вам нужна в / etc / sudoers:

www-data ALL=(root) NOPASSWD: /usr/sbin/smartctl
5

Другие решения

При выполнении под вашим веб-сервером ваш скрипт, вероятно, будет иметь другой PATH настроен, поэтому он будет работать не так, как в терминале.

Попробуйте поставить полный путь к smartctl в вашем сценарии, например

sudo /usr/local/bin/smartctl -A -d sat /dev/sda | awk '/^194/ {print $10}'
2

По вопросам рекламы [email protected]