web-dev-qa-db-ja.com

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 docs は、これがkernel.grsecurity.disable_priv_ioによって管理されていることを示唆していますが、sysctlはキーが不明であると言っており、私もそれを設定できないようです。

これを変更して、非grsecカーネルに再構築せずにhpacucliがiopl()にアクセスできるようにする方法はありますか?

2
jldugger

最近はhpacucliを使用するべきではありません。
正しい最新のツールはhpssacliです。

また、ハードウェアRAIDコントローラーのステータスを確認するためのより効率的な方法があります。どのOS /ディストリビューション/バージョンを実行していますか?他の管理エージェントがインストールされていますか?

1
ewwhite

皮肉なことに、これが他のHPraidホストで機能する理由は、明らかにiopl()を使用しない新しいバージョンのhpacucliを実行しているためです。これらの古いホストでhpacucliをアップグレードすると、問題が解決しました。

Iopl()を選択的に許可する方法の謎は残っています。おそらく別の日のために。

0
jldugger