Я хочу отслеживать некоторые аппаратные данные на безголовом сервере CentOS6. В частности, такие вещи, как напряжение, скорость вращения вентилятора, тепловые характеристики ...
Поскольку сервер безголовый, лучший способ, который я нашел для этого, - использовать скрипт php, который форматирует результаты из ipmitool
в приятной манере.
Конечно, пользователь веб-сервера не является пользователем root, это было бы плохо. К сожалению, похоже, что пользователь без полномочий root не имеет прав на доступ /dev/ipmi*
, что тоже имеет смысл.
Бег ipmitool -U "someUser" -P "somePassword" sdr
дает мне ожидаемые показания как root, но возвращает
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Get Device ID command failed
Unable to open SDR for reading
когда я вхожу в систему как веб-сервер.
Я немного искал кое-где и интересовался devfs.rules
, но похоже, что его нет в CentOS6, и я не знаком с установкой /dev
-связанные вещи в любом случае.
Может ли кто-нибудь указать мне правильное направление?
/dev/ipmi*
обычно ограничивается root только, как вы обнаружили. Ваши варианты бега ipmitool
как пользователь без полномочий root (примерно в порядке моих личных предпочтений):
Использовать sudo
(вы можете создать запись в sudoers специально для людей, которым должно быть разрешено запускать только ipmitool, если вы не хотите также предоставлять им неограниченный доступ к sudo)
Измените свой udev
rules, чтобы устройство было доступно для другого пользователя / группы (я не знаю, где хранятся правила udev в CentOS 6, но посмотрите в / etc в поисках чего-то, что соответствует требованиям). Это тот же подход, что и редактирование devfs.rules
- Документация CentOS приведет вас в правильном направлении и эта страница (или творческий поиск в Google) поможет вам с синтаксисом udev. (Я бы дал вам подсказки, но сам плохо разбираюсь в этом: x)
Подключитесь к интерфейсу IPMI по сети (если ваш интерфейс IPMI поддерживает это).
Это может потребовать записи сетевого интерфейса и перекрестного кабеля или подключения карты IPMI к вашей сети, поэтому она так низка в списке.
Делать ipmitool
setuid-root.
(Да. Не делайте этого. Обычно это плохая идея и ужасный совет - представьте, что я не упомянул об этом.)