マニュアルページセク ション 5: 標準、環境、マクロ

印刷ビューの終了

更新: 2014 年 7 月
 
 

smf_security(5)

名前

smf_security - サービス管理機能のセキュリティー動作

説明

サービス管理機能の構成サブシステム smf(5) には、サービスの構成を変更するための特権が必要です。ユーザーに特権を付与するには、user_attr(4) および prof_attr(4) を通して、次に説明する承認をユーザーに関連付けます。rbac(5) を参照してください。

サービスおよびサービスインスタンスの操作には次の承認が使用されます。

solaris.smf.modify

サービス、サービスインスタンス、またはそれらのプロパティーの追加、削除、変更、および保護されたプロパティー値の読み取りが承認されます。

プロパティーグループ承認

smf (5) 構成サブシステムは、各サービスおよびサービスインスタンスにプロパティーを関連付けます。関連するプロパティーはグループ化されています。グループは、実行メソッド、資格情報、アプリケーションデータ、リスタータの状態を表す場合があります。プロパティーグループを作成または変更する機能がある場合、オペレーティングシステム特権を必要とする可能性のあるアクションを smf(5) コンポーネントで実行させることができます。それに従って、フレームワークでは、プロパティーグループを操作するための適切な承認が要求されます。

各プロパティーグループには、その目的に対応するタイプがあります。コアとなるプロパティーグループタイプは、methoddependencyapplication、および framework です。追加のプロパティーグループタイプを導入することもできますが、smf (5) の拡張命名規約に適合する必要があります。ただし、次の基本承認は、コアとなるプロパティーグループタイプだけに適用されます。

solaris.smf.modify.method

method タイプのプロパティーグループの値の変更または作成、削除、変更が承認されます。

solaris.smf.modify.dependency

dependency タイプのプロパティーグループの値の変更または作成、削除、変更が承認されます。

solaris.smf.modify.application

application タイプのプロパティーグループの値の変更、保護された値の読み取り、および作成、削除、変更が承認されます。

solaris.smf.modify.framework

framework タイプのプロパティーグループの値の変更または作成、削除、変更が承認されます。

solaris.smf.modify

サービス、サービスインスタンス、またはそれらのプロパティーの追加、削除、変更、および保護されたプロパティー値の読み取りが承認されます。

プロパティーグループ固有の承認は、そのプロパティーグループに含まれているプロパティーによって指定できます。

modify_authorization

承認は、プロパティーグループ内のプロパティーの追加、削除、または変更を許可します。また、プロパティーグループが保護されている場合は、そのグループからプロパティー値を取得することも許可します。

value_authorization

承認は、modify_authorization を除くプロパティーグループの任意のプロパティーに対する値の変更を許可します。また、プロパティーグループが保護されている場合は、そのグループから modify_authorization 以外の任意のプロパティー値を取得することも許可します。

read_authorization

承認は、プロパティーグループ内のプロパティー値の取得を許可します。プロパティーグループ内にこの名前の文字列値プロパティーが存在する場合、そのプロパティーグループは保護されています。このプロパティーは、application タイプ以外のプロパティーグループには影響しません。「保護されたプロパティーグループ」を参照してください。

前述の承認プロパティーは、そのタイプが astring の場合だけ使用されます。インスタンスプロパティーグループにいずれかのプロパティーがない場合でも、そのプロパティーと同じ名前を持つプロパティーグループがインスタンスのサービスにあるときは、その値が使用されます。

保護されたプロパティーグループ

通常、リポジトリ内のすべてのプロパティー値は、明示的な承認なしで任意のユーザーが読み取ることができます。framework タイプ以外のプロパティーグループは、値の保護を必要とするプロパティーを格納するために使用できます。適切な承認がない場合、これらは公開できません。プロパティーグループのステータスが保護されたステータスであることは、文字列値の read_authorization プロパティーの存在によって示されます。このプロパティーが存在する場合、そのプロパティーグループに含まれているプロパティーの値は、「プロパティーグループ承認」で説明されている方法によってのみ取得可能です。

機密性が高いとみなされるデータのバックアップをポリシーによって禁止している管理ドメインでは、SMF リポジトリデータベースをバックアップから除外するようにしてください。そのようなポリシーが存在しても、保護されていないプロパティー値は svccfg(1M) アーカイブコマンドでバックアップできるため、保護されたプロパティー値を除いたリポジトリのアーカイブを作成できます。

サービスアクション承認

サービスインスタンスに対する特定のアクションは、結果としてサービスを中断または非アクティブ化する場合があります。どのようなサービス拒否も意図的な管理操作であることを保証するために、これらのアクションには承認が必要です。このようなアクションには、refresh メソッドや restart メソッドを実行する要求、サービスインスタンスを保守に配置するなどの非稼働状態にする要求があります。次の承認は、このようなアクションの要求を許可します。

solaris.smf.manage

任意のサービスインスタンスの再起動、リフレッシュ、またはその他の状態変更を要求することが承認されます。

さらに、general/action_authorization プロパティーで追加の承認を指定して、そのサービスインスタンスに対するサービスアクションの要求を許可できます。このプロパティーを変更するには、solaris.smf.manage 承認が必要です。

定義済み権利プロファイル

smf(5) の一般的な処理を操作するための承認をグループ化した 2 つの権利プロファイルが用意されています。

サービス管理

サービスマネージャーはリポジトリ内のすべてのサービスを任意の方法で操作できます。これは、solaris.smf.manage 承認と solaris.smf.modify 承認に対応します。

pkg (1) コマンドを使用して、サービスマニフェスト内にサービスインベントリを含んでいるソフトウェアパッケージの追加や削除を行うには、少なくともサービス管理プロファイルが必要です。

サービスオペレータ

サービスオペレータは、システムの任意のサービスインスタンスを有効または無効にしたり、その restart メソッドや refresh メソッドの実行を要求したりできます。これは、solaris.smf.manage 承認と solaris.smf.modify.framework 承認に対応します。

サイトでは、必要に応じてカスタマイズした追加の権利プロファイルを定義することもできます。

リモートリポジトリの変更

リモートリポジトリサーバーは、追加の特権確認の結果、変更要求を拒否することがあります。「注意事項」を参照してください。

使用例 1 ユーザーが root にならなくても system/cron サービスを変更できるようにします。

次の行を /etc/user_attr に追加すると、ユーザー「johndoe」は root にならなくても system/cron サービスの再起動、有効化、無効化、またはその他の状態変更を行えるようになります。

johndoe::::auths=solaris.smf.manage.cron
使用例 2 ユーザーが root にならなくてもいずれかのサービスのプロパティーを変更したり、system/cron サービスを変更したりできるようにします。

次の行を /etc/user_attr に追加すると、ユーザー「janedoe」は root にならなくてもいずれかのサービスのプロパティーを変更したり、system/cron サービスの再起動、有効化、無効化、またはその他の状態変更を行なったりできるようになります。

janedoe::::auths=solaris.smf.modify,solaris.smf.manage.cron

関連項目

auths (1) , profiles (1) , svccfg (1M) , prof_attr (4) , user_attr (4) , rbac (5) , smf (5) , pkg (1)

Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2

smf(5) の現在のバージョンでは、リモートリポジトリはサポートされていません。

サービスが limit_privileges とは異なる特権で root ユーザーとして起動するように構成されている場合、結果として得られるプロセスは特権に対応したものになります。これは、seteuid(<non-zero UID>) によって特権が basic 以下に下がると考えている開発者には予期しないことです。