Как мне переопределить grsec?
После недавней перезагрузки у меня есть пара серверов, которые теперь не могут отслеживать состояние своего диска. Нагиос сообщает:
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?
2 ответа
Вы не должны использовать hpacucli
Эти дни.
Правильный современный инструмент hpssacli
,
Кроме того, существуют более эффективные способы проверки состояния контроллера RAID. Какую ОС / дистрибутив / версию вы используете? У вас установлены другие агенты управления?
По иронии судьбы причина, по которой это работает на других наших хостах HPraid, заключается в том, что они используют более новые версии hpacucli, которые, очевидно, не используют iopl(). Обновление hpacucli на этих старых хостах решило проблему.
Тайна того, как выборочно разрешить iopl (), остается. Возможно, на другой день.