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

Как переопределить grsec?

После недавней перезагрузки у меня есть пара серверов, которые теперь не могут отслеживать состояние своих дисков. Nagios сообщает:

HP RAID Array
UNKNOWN Error: No controllers detected. -/-/- (LD : []) 

Я получаю ту же ошибку, выполняя проверку вручную на хосте. Когда я это делаю, журнал ядра показывает следующее, когда я запускаю эту проверку вручную:

Apr  8 17:00:00 www.example.org kernel: [12345.000000] grsec: 
From 10.11.12.13: denied use of iopl() by /opt/hp/hpacucli
/hpacucli.bin[hpacucli.bin:666] uid/euid:0/0 gid/egid:0/0, parent 
/bin/bash[bash:777] uid/euid:0/0 gid/egid:0/]

hpacucli - это инструмент, используемый для взаимодействия с аппаратным RAID-контроллером и сбора таких вещей, как статус диска. Неудивительно, что он использует iopl (). В документы grsec предполагает, что это регулируется kernel.grsecurity.disable_priv_io но sysctl говорит, что ключ неизвестен, и я тоже не могу его установить.

Есть ли способ изменить это, чтобы разрешить доступ hpacucli к iopl () без перестройки ядра без использования grsec?

Вы не должны использовать hpacucli Эти дни.
Правильный современный инструмент - это hpssacli.

Кроме того, существуют более эффективные способы проверки состояния аппаратного RAID-контроллера. Какая ОС / дистрибутив / версия у вас установлена? У вас установлены другие агенты управления?

По иронии судьбы, причина, по которой это работает на других наших хостах HPraid, заключается в том, что они используют более новые версии hpacucli, которые, по-видимому, не используют iopl (). Обновление hpacucli на этих старых хостах решило проблему.

Остается загадка, как выборочно разрешить iopl (). Возможно, в другой день.