「継承可能な特権」については、「プロセス特権セット 」で詳しく説明しています。継承可能な特権がセキュリティ管理者役割にとって重要である理由は、特権の継承が次のように使用されるためです。
プロファイルシェルで呼び出されたコマンドに特権を引き渡すプロファイル機構
システムシェルで、呼び出されたコマンドに特権を引き渡す
ウィンドウシステムのトラステッドプロセス で、アクションに特権を引き渡す
「プロセス特権セット 」で説明したように、プロセスが新しいプログラムを実行する場合、プロセスの新しい「継承可能な特権セット」は、新しいプログラムが実行される前のプロセスの古い「継承可能な特権」セットと同じに設定されます (I[new]=I[old])。その結果、あるプログラムから他のプログラムに引き渡すことが可能な「継承可能な特権」は、現在実行中のプログラムの「強制された特権」や「許容された特権」の影響を受けません。プログラムファイルの「強制セット」や「許容セット」を参照せずに「継承可能セット」を保守することには、次の 2 つの利点があります。
「許容された特権」を参照せずに I[new]=I[old] を設定すると、特権を使用できないプログラムを実行しているプロセスから特権を使用できるプロセスに特権を引き渡すことができる
詳細については、「プログラムファイルが「許容された特権」を持っていない場合」を参照してください。
「強制された特権」を参照せずに I[new]=I[old] を設定すると、「強制された特権」がシェルスクリプトによって使用されない
詳細については、「プログラムファイルが「強制された特権」を持っていない場合」を参照してください。
プログラムファイルが「許容された特権」を持っていない場合、プログラムを実行するプロセスの「継承可能な特権セット」は、プログラムの「許容された特権」に合わせて削減されることがありません。「許容された特権」を持たないプログラムを実行するプロセスは、特権を使用することができません。これは、他のトラステッドプロセスから特権を継承したとしても、「有効セット」に特権を設定することができないからです。ただし、このようなプロセスは、「継承可能な特権」を他のプログラムに引き渡すことができます。そのプログラムが「許容された特権」を持っていれば、「継承可能な特権」を使用することができます。次の図を参照してください。
プロセスの「継承可能セット」が、プログラムの「強制された特権」によって増加することはありません。シェルスクリプトの「強制された特権」が、強制特権シェルスクリプトで呼び出されたコマンドに渡されることはありません。つまり、標準の UNIX シェル sh(1)、csh(1)、ksh(1) で実行されるシェルスクリプトで特権が使用されることはありません。次の図を参照してください。