Solaris のシステム管理 (セキュリティサービス)

特権の割り当て

特権の割り当ては、システム管理者の権限を与えられたユーザーによって行われます。この管理者は、通常、権利プロファイル内でコマンドに特権を割り当てます。この割り当てのあと、この権利プロファイルを役割またはユーザーに割り当てます。Solaris 管理コンソールには、特権を割り当てるためのグラフィカルユーザーインタフェース (GUI) が用意されています。特権の割り当ては、smusersmrole のようなコマンドを使用しても行えます。GUI を使用して特権を割り当てる方法の詳細は、第 9 章役割によるアクセス制御の使用 (手順)を参照してください。

特権をユーザーに直接割り当てることもできます。セッションで特権を適切に使用すると信頼できるユーザーには、特権を直接割り当てることができます。直接の割り当てが適するものとしては、影響の少ない特権 (proc_clock_highres など) が挙げられます。影響が広範囲におよぶ特権 (file_dac_write など) は、直接の割り当てに適しません。

ユーザーまたはシステムに対して特権を拒否することもできます。ユーザーまたはシステムの初期継承可能セットまたは制限セットから特権を削除する場合は、注意が必要です。

ユーザーまたは役割の特権の拡張

ユーザーと役割は、継承可能特権セットと制限特権セットを持ちます。制限セットには初めにすべての特権が設定されるため、このセットは拡張できません。初期継承可能セットは、ユーザー、役割、システムを対象に拡張できます。プロセスには、継承可能セットに含まれない特権も割り当てることができます。

特権を追加するのにもっとも適した方法は、プロセスごとの特権割り当てです。ユーザーが実行できる特権化された処理の数は、役割の引き受けをそのユーザーに許可することで増やせます。役割には、追加された特権が指定されたコマンドを含むプロファイルを割り当てます。役割を引き受ける際に、ユーザーはその役割のプロファイルシェルを取得します。役割のプロファイルに指定されたコマンドをその役割のシェルで入力すると、追加された特権を使用してコマンドが実行されます。

プロファイルは、ユーザーが引き受ける役割に対してではなく、ユーザーに割り当てることもできます。プロファイルは、追加された特権が指定されたコマンドを含みます。プロファイルシェル (pfksh など) を開く場合、ユーザーは自分のプロファイル内のコマンドを特権を使用して実行できます。通常のシェルでは、特権によるコマンドの実行は行われません。特権が指定されたプロセスは、特権化されたシェルでしか実行できません。

ユーザー、役割、またはシステムの初期継承可能特権セットを拡張するのは、特権を割り当てる方法として安全とは言えません。継承可能セット内の特権はすべて、許可されたセットと有効セット内に存在します。シェル内でユーザーまたは役割が入力するコマンドはすべて、直接割り当てられた特権を使用できます。直接割り当てられた特権を使用すると、ユーザーまたは役割は自分の管理責務の範囲を超えた処理を簡単に行えます。

システムの初期継承可能特権セットを拡張すると、そのシステムにログインするユーザー全員の基本特権が拡張されます。このような直接割り当てを行うと、通常のユーザーには禁止されている処理でもシステムの全ユーザーが簡単に行えるようになります。

ユーザーまたは役割の特権の制限

特権を削除することで、ユーザーまたは役割が特定の作業を行わないようにすることができます。特権は、初期継承可能セットから削除することも、制限セットから削除することもできます。デフォルトセットよりも小さい初期継承可能セットまたは制限セットを配布する場合は、あらかじめ特権の削除を慎重にテストすることが望まれます。たとえば、初期継承可能セットから特権を削除したためにユーザーがログインできなくなる可能性があります。また、制限セットから特権を削除したために古い setuid プログラムでその特権が使えなくなり、プログラムが失敗する可能性があります。

スクリプトへの特権の割り当て

スクリプトは、コマンドと同様に実行が可能です。このため、コマンドに特権を追加する場合と同じ方法で、権利プロファイルでスクリプトに特権を追加できます。スクリプトは、プロファイルを割り当てられたユーザーまたは役割がプロファイルシェル内でそのスクリプトを実行する場合に、追加された特権を使用して実行されます。特権を必要とするコマンドがスクリプトに含まれる場合は、その特権を指定したコマンドもプロファイルに含める必要があります。

特権を認識するプログラムは、プロセス単位で特権を制限できます。特権を認識するプログラムを使用するジョブは、プログラムで必要な特権だけを実行可能ファイルに割り当てます。続いて管理者はこのプログラムのテストを行い、作業が正常に行われるか確認します。また、プログラムが特権を悪用しないかも確認します。