Назад | Перейти на главную страницу

Запуск ipmitool от имени пользователя без полномочий root

Я хочу отслеживать некоторые аппаратные данные на безголовом сервере 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 (примерно в порядке моих личных предпочтений):

  1. Использовать sudo (вы можете создать запись в sudoers специально для людей, которым должно быть разрешено запускать только ipmitool, если вы не хотите также предоставлять им неограниченный доступ к sudo)

  2. Измените свой udev rules, чтобы устройство было доступно для другого пользователя / группы (я не знаю, где хранятся правила udev в CentOS 6, но посмотрите в / etc в поисках чего-то, что соответствует требованиям). Это тот же подход, что и редактирование devfs.rules - Документация CentOS приведет вас в правильном направлении и эта страница (или творческий поиск в Google) поможет вам с синтаксисом udev. (Я бы дал вам подсказки, но сам плохо разбираюсь в этом: x)

  3. Подключитесь к интерфейсу IPMI по сети (если ваш интерфейс IPMI поддерживает это).
    Это может потребовать записи сетевого интерфейса и перекрестного кабеля или подключения карты IPMI к вашей сети, поэтому она так низка в списке.

  4. Делать ipmitool setuid-root.
    (Да. Не делайте этого. Обычно это плохая идея и ужасный совет - представьте, что я не упомянул об этом.)