Mdadm-RAIDを使用していて、HDDの障害などのイベントについて通知を受け取りたい。これを実現するために、mdadm構成ファイルでMAILADDR
とPROGRAM
を使用できます。後者を使うことにしました。そこで、簡単な通知bash-scriptを作成し、PROGRAM
-オプションをスクリプトのパスに設定しました。
これを回避するために、すべてのユーザーがこのスクリプトを使用して通知を送信できるのは、rootユーザーのみがそのスクリプトの実行権を持っているためです。したがって、mdadmが通知を送信する場合は、rootとしてスクリプトを実行する必要があります。
しかし、ユーザーを設定するオプションが見つかりません。デフォルトでは常にrootですか?
AFAIKは、mdadm --monitor
がrootとして実行されている限り、rootとして実行されます(これは通常の場合です)。
この点で、mdadm.conf
のMAILADDRオプションの方が柔軟性が高いことがわかりました。私のサーバーでは、特別に作成されたユーザーに電子メールが送信されます。そのユーザーの.procmailrc
のエントリは、そのユーザーを所有者としてプログラムを実行します。そのプログラムは、他の(通常の)ユーザーがアクセスできないディレクトリにあります(電子メールの転送に加えて、サーバーから仕事用マシンのデスクトップに通知を送信します)。