runpd(1M) コマンドは任意のコマンドを実行して、そのコマンドが使った特権を記録します。
runpd コマンドにはトラステッドパス属性が必要です。コマンドがトラステッドパス属性を取得できるのは、そのコマンドがプロファイル中に指定されており、管理役割によって実行されるときだけです。したがって、通常のユーザーは runpd を実行して、通常のユーザーに必要な特権を見つけることはできません。runpd を実行するためにスーパーユーザー役割を使ってはなりません。これは、UID 0 が他の UID よりも多くのアクセス権をコマンドに与えてしまうためです。runpd コマンドを使うと、コマンドが使用されるラベルにおいて、そのコマンドがどの特権を使うのかテストできます。管理役割 (スーパーユーザー役割を除く) として runpd を実行すると、コマンドがユーザーの認可範囲内の機密ラベルで実行された場合、通常のユーザーに必要な特権が記録されます。
デフォルトでは、セキュリティ管理者役割は、そのプロファイル内に runpd コマンドが割り当てられている唯一の役割です。「アプリケーションに必要な特権を調べるには」で説明している手順に従うと、特権デバッグを有効にできます。その手順では、特権デバッグ専用の管理役割を作成する方法についても説明しています。
コマンドが必要とする特権は、自動的に割り当ててはなりません。特権を割り当てる前に、他の方法を検討してください。
プログラムがファイルにアクセスするときに DAC または MAC の制限を回避する必要がある場合、セキュリティ管理者役割は実効 UID または GID を割り当てることによって、特権を不要にすることも可能です。詳細は、「特権の割り当て以外の方法」を参照してください。
ソフトウェアに特権、あるいは代替の UID または GID が割り当てられているとき、そのソフトウェアは、Trusted Solaris セキュリティポリシーを無効にできるという意味で「トラステッド (信頼できる)」になります。したがって、「信頼できない」ソフトウェアでも「トラステッド (信頼できる)」になってしまうことに注意してください。セキュリティ管理者役割は、ソフトウェアが信用に値する方法で特権を使うことが確信できるまで、そのソフトウェアに特権を与えてはなりません。ソフトウェアを十分に調べ、システムのセキュリティポリシーの範囲内で特権を使っていることが判明した場合にのみ、そのソフトウェアは「信頼のおける」プログラムであると言えます。