システム制御をオーバーライドするアプリケーションとコマンドは、特権付きアプリケーションとみなされます。アプリケーションは、UID=0 のようなセキュリティー属性、特権、および承認によって特権化されます。
root (UID=0) やその他の特殊な UID または GID を確認する特権付きアプリケーションは、UNIX 環境に古くから存在します。権利プロファイルのメカニズムによって、特定の ID を必要とするコマンドを分離できます。任意のユーザーがアクセスできるコマンドの ID を変更する代わりに、UID が割り当てられたコマンドを権利プロファイル内に配置できます。その権利プロファイルを持つユーザーまたは役割であれば、スーパーユーザー以外でもその UID としてプログラムを実行できます。
ID は実 ID または 実効 ID として指定できます。実効 ID を割り当てた場合は、実 ID より優先されます。実効 ID は、ファイルアクセス権ビットの setuid 機能に相当します。実行 ID は、監査のために UID の識別も行います。ただし、root の実 UID を要求するシェルスクリプトやプログラムのために、実 ID も設定できます。たとえば、reboot コマンドには実効 UID ではなく、実 UID が必要です。
特権付きアプリケーションは、特権の使用を確認できます。権利プロファイルメカニズムを使用すると、セキュリティー属性を必要とする特定のコマンドの特権を指定できます。次に、セキュリティー属性が割り当てられたコマンドを権利プロファイル内に分離できます。この権利プロファイルを持つユーザーまたは役割は、そのコマンドに必要な特権だけを使用してコマンドを実行できます。
Kerberos コマンド (kadmin、kprop、kdb5_util など)
ネットワークコマンド (ipadm、routeadm、snoop など)
ファイルコマンドとファイルシステムコマンド (chmod、chgrp、mount など)
プロセスを制御するコマンド (kill、pcred、rcapadm など)
特権を持つコマンドを権利プロファイルに追加するには、権利プロファイルを作成する方法および profiles(1) のマニュアルページを参照してください。特定のプロファイル内の特権を確認するコマンドを判断するには、Chapter 6, Oracle Solaris の権利の一覧表示を参照してください。
次を含む一部の Oracle Solaris コマンドは、承認を確認します。
監査管理用のコマンド (auditconfig、auditreduce など)
プリンタ管理用のコマンド (cupsenable、lpadmin など)
バッチジョブコマンド (at、atq、batch、crontab など)
デバイス向けのコマンド (allocate、deallocate、list_devices、cdrw など)
スクリプトまたはプログラムでの承認の確認のガイダンスについては、Example 4–3 を参照してください。承認が必要なプログラムを作成するには、Oracle Solaris 11 セキュリティー開発者ガイド の承認についてを参照してください。