Privileged Identity Manager ( 以下、PIM) が導入された環境で、特定のプログラムが実行できなくなる問題が発生しました。
この文書では サンプルプログラム /usr/bin/notes に対して PIM が実行を阻止している要因の確認方法について説明します。
Privileged Identity Manage: 全てのバージョン
Privileged Access Manager Server Control: 全てのバージョン
最初に監査ログで プログラム ( 本例では /usr/bin/notes) の実行を拒否しているレコード 「D( 拒否 )」を探してステージコードを確認します。
# seaudit -a | grep /usr/bin/notes
...
25 Mar 2015 14:22:40 D PROGRAM <User> Exec 250 2 /usr/bin/notes /usr/bin/ksh XX.XX.XX.XX (OS user) root
...
次に、ステージコードから拒否された理由を確認します。
# seaudit -t | grep 250
…
250 untrusted プログラムを実行しています。
PROGRAMクラスの内容を確認します。
# selang -c "sr program /usr/bin/notes | grep Untrust"
…
Untrust : Yes
# selang -c "sr program /usr/bin/notes | grep 理由"
…
理由 : Mtime
ここで、Untrust にされた理由が バイナリの更新日付の変更とわかりましたので、再度すべての Untrust なプログラムを信頼させるために selang のコマンドを生成する seretrust ツールを使用します。
# ./seretrust -a
このコマンドにより、再度信頼させる selang コマンドが生成されます。
selang を起動し、以下のコマンドを実行してください。
chres PROGRAM ("/usr/bin/notes") trust
seretrust コマンドの詳細な情報や例文については以下をご参照ください。
seretrust Utility Generate Commands to Retrust Programs and Secure Files
また、プログラムの保護に関しては以下のマニュアルもご参照ください。
Protecting setuid and setgid Programs
その他、サポート全般に関しては以下のページもご参照ください。
なお、本KBは以下の英文 KB を翻訳し補足しました。
Article ID: 31036: PROGRAM Execution Denied