Trusted Solaris 管理の手順

シェルスクリプトの作成方法と使用方法

通常の UNIX シェル (sh, csh, csh) が割り当てられているユーザーは、特権を使用しないでシステム内の任意のコマンドを実行する、新しいシェルスクリプトを作成することができます。このスクリプトに特権を必要とするコマンドが含まれていない場合、ソフトウェアへのアクセス権を持ち、シェルスクリプトを解釈するためのシェルを実行できるユーザーは全員、シェルスクリプトを使用することができます。

シェルスクリプトで実行されるコマンドに特権を付与することができるのは、セキュリティ管理者役割だけです。シェルスクリプトの実行時に特権を使用するかどうかに影響する Trusted Solaris の制約について確認します。

特権を使用してコマンドを実行できる 2 つの方法を確認します。

「強制された」特権コマンドは、どのシェルでも特権を使用して実行できます。これは、プログラムファイルに付与された「強制された特権」が、シェル自体に特権がなくても、コマンドの実行に適用されるからです。「強制された特権」を cshshksh シェルスクリプトに割り当てても、シェルスクリプトが実行するコマンドに特権を付与することにはなりません。これは、スクリプトから起動されたシェルが「強制された特権」を使用して実行された場合でも、シェルの「継承可能セット」に特権が設定されていないからです。プロセスが特権を取得する方法については、「プロセス特権セット 」で説明した規則を参照してください。


注意 - 注意 -

実行可能プログラムを編集する際、オブジェクトコードやシステムスクリプトが無許可で改ざんされないようにするために、そのファイルに付与されていた「強制された特権」と「許容された特権」は削除されます。プログラムファイルの「許容セット」が空の場合、継承可能な特権は「許容セット」にマスクされ、使用することができません。ただし、プロファイル機構 は、「継承可能な特権」を使用可能にするときに、シェルスクリプトの「強制された特権」と「許容された特権」を参照しません。このため、シェルスクリプトは修正されても気付かれないことがあります。セキュリティ管理者役割は、「継承可能な特権」を使用するシェルスクリプトを使用可能にする前に、改ざんに対する保護が、プログラムに有効であってもシェルスクリプトに対しては有効でないことに留意しておく必要があります。


Trusted Solaris システムにおけるシェルスクリプトの動作のまとめ

図 16-5 pfsh で呼び出されたシェルスクリプトがコマンドに継承可能特権を引き渡す方法

Graphic

プロファイルシェルを呼び出すシェルスクリプトの詳細

#!/bin/pfsh という行で始まるシェルスクリプトを一般ユーザーが呼び出した場合、その動作は管理役割が呼び出した場合の動作とは異なります。

一般ユーザーが呼び出した場合の動作

管理役割が呼び出した場合との違い