ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- 権利プロファイルの一覧表示および管理
profiles [-l] [-a | user ...] [-S repository]
profiles -p profiles [-S repository]
profiles -p profiles [-S repository] subcommand
profiles -p profiles [-S repository] -f command_file
profiles help
profiles ユーティリティーは、ローカルファイルのネームサービスまたは LDAP ネームサービスの prof_attr(4) または exec_attr(4) データベースの権利プロファイルの構成を作成および変更します。権利プロファイルの構成は、プロファイル名といくつかのプロパティーで作成されています。
次の形式の profiles サブコマンドは、対話形式で使用されます。
profiles -p profile [-S repository] [subcommand]
profiles コマンドは、自分または任意指定のユーザーあるいは役割名に割り当てられている権利プロファイルの名前を標準出力に書き込みます。プロファイルは、特定の機能の実行に必要なコマンドおよび承認を列挙するために使用されるバンドリングメカニズムです。リストには各実行可能ファイルとともに、実効ユーザー ID や実効グループ ID などのプロセス属性が表示されます。特権コマンドインタプリタによって起動されるときにこれらの属性を指定してプロセスが実行されます。pfexec(1) のマニュアルページを参照してください。プロファイルには、prof_attr(4) で定義されているほかのプロファイルを含めることができます。
複数のプロファイルを結合して適切なアクセス制御を作成することができます。プロファイルが割り当てられると、既存のセットに承認が追加されます。複数のプロファイルに同じコマンドが存在する場合、プロファイルの順序付けによって決定された、最初のプロファイルがプロセス属性の設定に使用されます。すべてのコマンドに一致するようにワイルドカードを指定できます。
特殊なプロファイル「Stop」を使用すると、以降のプロファイルの評価がショートカットされます。「Stop」プロファイル以降にあるプロファイルは、評価されることも、ほかのコマンドを見つけるために使用されることもありません。そのファイルに AUTH_GRANTED として一覧表示されている承認および PROF_GRANTED キーを持つプロファイルを使用すると、/etc/security/policy.conf に一覧表示されているプロファイルの一部を対象外にするためにこのプロファイルを使用できます。
プロファイルが解釈されると、プロファイルリストが user_attr(4) から読み込まれます。デフォルトプロファイルが /etc/security/policy.conf (policy.conf(4) を参照) で定義されている場合は、user_attr(4) から読み込まれたリストにデフォルトプロファイルのリストが追加されます。prof_attr(4) で一致するエントリは承認リストを、exec_attr(4) で一致するエントリはコマンドリストを提供します。
-p オプションを指定して呼び出すと、指定されたプロファイルのプロパティーおよび関連付けられている実行可能ファイルのプロパティーを管理できます。ただし、システムの整合性を維持するため、Solaris によって管理されるプロファイルは、このコマンドを使用しても変更できません。そのようなプロファイルは、システムの更新中に pkg(1) コマンドを使用した場合にのみ変更できます。
また、その他のプロファイルも、pkg(1) コマンドを使用すると、変更できないプロファイルとして必要に応じて配布できます。
特権のエスカレーションを防ぐため、プロパティー値はユーザーの承認に基づいて制限されます。管理者には、少なくとも Rights Management プロファイルが付与されている必要があります。また、委任承認によって管理されているセキュリティー関連のプロパティーを変更するには、管理者に Rights Delegation プロファイルが付与されている必要があります。詳細は、exec_attr(4)、prof_attr(4)、および次の要約を参照してください。
プロパティー値には、単純な文字列、またはコンマで区切られた単純な文字列のリストを指定できます。スペース文字を含む単純な文字列は、二重引用符で囲む必要があります。
profiles コマンドは、profile コンテキストと command コンテキストの両方で動作します。profile コンテキストは、初期状態であり、各種のプロファイルプロパティーを管理できます。次の表は、profile コンテキストのプロパティーをまとめたものです。
Property Name Value Type Required Authorizations name simple none auths list of simple solaris.auth.{assign/delegate} profiles list of simple solaris.profile.{assign/delegate} privs list of simple solaris.privilege.{assign/delegate} limitpriv list of simple solaris.privilege.{assign/delegate} defaultpriv list of simple solaris.privilege.{assign/delegate} always_audit list of simple solaris.audit.assign never_audit list of simple solaris.audit.assign desc simple none help simple none cmd simple/new context none
コマンドのコンテキストは、cmd プロパティーを指定することによって入力します。command コンテキストでは、現在のコマンドのプロパティーを管理できます。
次の表は、command コンテキストのプロパティーをまとめたものです。
Property Name Value Type Required Authorizations id simple none privs list of simple solaris.privilege.{assign/delegate} limitprivs list of simple solaris.privilege.{assign/delegate} euid simple solaris.profile.cmd.setuid uid simple solaris.profile.cmd.setuid egid simple solaris.group.{assign/delegate} gid simple solaris.group.{assign/deleg
profile コンテキストのプロパティーに指定可能な値を、次のリストに示します。次のリストで指定されているように、プロパティーとその値の間には等号 (=) が必要です。
常に監査するイベントクラスを指定する監査フラグ。ユーザーの user_attr(4) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
新しいプロファイルに追加される、コンマで区切られた 1 つ以上の承認。ワイルドカード文字 (*) を承認名に使用する場合は、名前を二重引用符 (") で囲む必要があります。
実行可能ファイルへの完全指定パス、またはすべてのコマンドを指定するために使用されるアスタリスク (*) 記号。パス名のファイル名コンポーネントを置き換えるアスタリスクは、特定のディレクトリのすべてのファイルを示します。
これは、command コンテキストを入力して、コマンドのセキュリティープロパティーを管理するために使用される特殊なプロパティーです。
これらの ID には、数値 ID または名前を使用できます。
このプロパティーには、前の cmd プロパティーによって指定された値が設定されますが、この値は変更できます。select サブコマンドと組み合わせて使用すると、その後の編集のために既存のコマンドのプロパティーのクローンを作成できます。
実行可能プロセスの継承可能セットに適用する一連の特権。デフォルトは basic です。
実行可能プロセスの制限セットに適用する一連の特権。デフォルトは all です。
コマンドで実行するプロセスの実効ユーザー ID。
コマンドで実行するプロセスの実ユーザー ID。
コマンドで実行するプロセスの実効グループ ID。
コマンドで実行するプロセスの実グループ ID。
ユーザーの一連のプロセスに割り当てられるデフォルトの一連の特権。ユーザーの user_attr(4) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
新しいプロファイルの説明。テキストは引用符で囲む必要があります。
新しいプロファイルのヘルプファイル名。ヘルプファイルは、/usr/lib/help/profiles/locale/<locale> ディレクトリにコピーされます。ここで、<locale> は、ユーザーの言語ロケールの値です。何も指定されていない場合は C になります。このプロパティーの指定は、files リポジトリでのみ使用できます。
ユーザーが su(1M) またはその他の方法で開始したユーザーまたはプロセスが取得できる特権セットの最大数。ユーザーの user_attr(4) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
プロファイルの名前。名前の初期値は、コマンド行で -p オプションを使用して指定します。名前を変更すると、現在のプロファイルのプロパティーが、新しい名前が付けられたプロファイルに適用されます。このようにして、その後の編集のために既存のプロファイルのクローンを作成できます。名前には、既存のプロファイルと同じ名前は使用できません。
監査しないイベントクラスを指定する監査フラグ。ユーザーの user_attr(4) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
pfexec(1) コマンドの P オプションを使用して指定できる一連の特権。
新しいプロファイルに追加される、コンマで区切られた 1 つ以上の補助プロファイル。
次のオプションがサポートされています。
指定されたリポジトリのすべてのプロファイル名を一覧表示します。リポジトリが指定されていない場合は、nsswitch.conf(4) の prof_attr に設定されている内容に従います。
profiles のコマンドファイルの名前を指定します。command_file は、profiles サブコマンドが 1 行に 1 つあるテキストファイルです。
権利プロファイルに関する情報を表示し、コマンドと、ユーザーやグループ ID などそのコマンドの特殊なプロセス属性を一覧表示します。
プロファイル名を指定します。
有効なリポジトリは、files と ldap です。repository は、更新するネームサービスを指定します。デフォルトの repository は files です。
-p オプションを指定して呼び出すと、サブコマンドをコマンド行または対話形式で指定できます。セミコロンで区切られた複数のサブコマンドをコマンド行に指定するには、一連のサブコマンド全体を引用符で囲みます。サブコマンドが指定されていない場合は、対話型セッションが行われることを意味します。対話型セッションでは、TAB キーを使用することにより、サブコマンドの自動補完を呼び出すことができます。
add サブコマンドと select サブコマンドを使用すると、特定のコマンドを選択できます。選択した時点で、コンテキストがそのコマンドのコンテキストに変更されます。対話型セッションでは、command コンテキストは、プロンプト文字列のコマンドのベース名によって識別されます。end サブコマンドと cancel サブコマンドを使用すると、コマンドの指定を終了できます。指定を終了した時点で、コンテキストは profile コンテキストに戻ります。
破壊的な動作や作業内容の消失を伴う可能性のあるサブコマンドには、強制的にその処理を実行するために -F オプションが用意されています。端末デバイスから入力を行う場合、ユーザーは適切なタイミングで入力を要求されます。これは、サブコマンドが -F オプションなしで指定された場合に発生することがあります。それ以外の場合、処理は許可されず、診断メッセージが標準エラー出力に書き込まれます。
プロパティー値には、単純値、またはリストを受け入れるプロパティーの場合は、単純値のリストを指定できます。サポートされているサブコマンドは次のとおりです。
profile コンテキストで、対象となるコマンドの指定を開始します。コンテキストは、command タイプに変更されます。
指定した値を現在のプロパティー値に追加します。このサブコマンドを適用できるのは、リストを受け入れるプロパティーのみです。
コマンドの指定を終了し、コンテキストを profile にリセットします。指定途中のリソースをすべて破棄します。cancel を適用できるのは、command コンテキストのみです。
プロパティーの値を消去します。
現在の構成をメモリーから安定した記憶領域に確定します。変更を適用するには、構成を確定する必要があります。メモリー内構成を確定するまでは、revert サブコマンドを使って変更を取り消すことができます。profiles セッションが終了するときには、commit 処理が自動的に試みられます。構成が正しく設定されていないと確定できないので、この処理では自動的に構成が確認されます。
指定されたプロファイルをメモリー内および安定した記憶領域から削除します。この操作は、対象のプロファイルが同じリポジトリの別のプロファイルにサブプロファイルとして含まれている場合は許可されません。代わりに、このプロファイルを含むプロファイルのリストが提供されます。それらのプロファイルからこのプロファイルを手動で削除してから、対象のプロファイルを削除する必要があります。この操作を強制的に実行する場合は、-F オプションを使用します。削除が許可される場合、処理はすぐに実行され、セッションは終了します。
コマンドの指定を終了します。このサブコマンドを適用できるのは、command コンテキストのみです。profiles コマンドは、現在のコマンドが完全に指定されていることを検査します。完全に指定されている場合は、メモリー内構成に追加され (メモリー内構成を安定した記憶領域に保存する方法については commit を参照)、コンテキストは profile コンテキストに戻ります。指定が完全でない場合は、対応するエラーメッセージが通知されます。
profiles のセッションを終了します。必要な場合は、commit 操作が自動的に試行されます。EOF 文字を使用して profiles を終了することもできます。この操作を強制的に実行する場合は、-F オプションを使用します。
標準出力に構成を出力します。output-file に構成を出力する場合は、-f オプションを使用します。このオプションを使用すると、コマンドファイルオプションに適した形式で出力が作成されます。
一般ヘルプまたは特定項目のヘルプを出力します。
現在のプロファイルまたは指定されたプロパティーに関する情報を表示します。
指定されたコマンドをプロファイルから削除します。このサブコマンドは、profile コンテキストでのみ有効です。
プロファイルからすべてのコマンドを削除します。-F オプションを使用していない場合は、確認が求められます。このサブコマンドは、profile コンテキストでのみ有効です。
指定した値をプロパティーから削除します。これを適用できるのは、リストを受け入れるプロパティーのみです。
構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、-F オプションを使用します。
変更を行うために、指定したパス名の条件に一致するコマンドを選択します。このサブコマンドを適用できるのは、profile コンテキストのみです。
指定されたプロパティー名を、指定された値に設定します。profile コンテキストでのみ有効なプロパティー (たとえば、name や desc) と、command コンテキストでのみ有効なプロパティーがあります。このサブコマンドは、profile コンテキストと command コンテキストの両方で適用できます。
現在の構成が正しいかどうかを確認します。
必須のプロパティーが指定されている。
各キーワードの値が有効である。
ユーザーは値を指定することを承認されている。
例 1 profiles コマンドを使用する
profiles コマンドの出力は次の形式です。
example% profiles tester01 tester02 tester01 : Audit Management, All Commands tester02 : Device Management, All Commands example%
例 2 list オプションの使用
example% profiles -l tester01 tester02 tester01 : Audit Management: /usr/sbin/audit euid=root /usr/sbin/auditconfig euid=root egid=sys All Commands: * tester02 : Device Management: /usr/bin/allocate: euid=root /usr/bin/deallocate: euid=root All Commands * example%
例 3 新しいプロファイルの作成
次のコマンドは、新しい User Manager プロファイルを LDAP に作成します。新しいプロファイルの説明は「Manage users and groups」で、割り当てられる承認は solaris.user.manage です。割り当てられる補助プロファイルは Mail Management です。ヘルプファイル名は、RtUserMgmt.html です。
example% profiles -p "User Manager" -S ldap profiles:User Manager> set desc="Manage users and groups" profiles:User Manager> set help=RtUserMgmt.html profiles:User Manager> set auths=solaris.user.manage profiles:User Manager> set profiles="Mail Management" profiles:User Manager> exit
例 4 現在の構成に関する情報の表示
次のコマンドは、User Manager プロファイルに関する情報を表示します。
example% profiles -p "User Manager" -S ldap info name=User Manager desc=Manage users and groups auths=solaris.user.manage profiles=Mail Management help=RtUserMgmt.html
例 5 プロファイルの削除
次のコマンドは、LDAP から User Manager プロファイルを削除します。
example% profiles -p "User Manager" -S ldap delete -F
例 6 プロファイルの変更
次のコマンドは、LDAP の User Manager プロファイルを変更します。新しいプロファイルの説明は「Manage world」、新しい承認の割り当ては solaris.user.* 承認、および新しい補助プロファイルの割り当ては All です。
example% profiles -p "User Manager" -S ldap profiles:User Manager> set desc="Manage world" profiles:User Manager> set auths="solaris.user.*" profiles:User Manager> set profiles=All profiles:User Manager> exit
例 7 exec_attr データベースエントリの作成
次のコマンドは、LDAP の User Manager プロファイルに新しい exec_attr のエントリを作成します。/usr/bin/cp というエントリが追加されます。コマンドには、実効ユーザー ID に 0、および実効グループ ID に 0 が指定されています。
example% profiles -p "User Manager" -S ldap profiles:User Manager> add cmd=/usr/bin/cp profiles:User Manager:cp> set euid=0 profiles:User Manager:cp> set egid=0 profiles:User Manager:cp> end profiles:User Manager> exit example%
例 8 exec_attr データベースエントリの削除
次の例では、LDAP から User Manager プロファイルの exec_attr データベースエントリを削除します。コマンド /usr/bin/cp に指定されているエントリが削除されます。
example% profiles -p "User Manager" -S ldap profiles:User Manager> remove cmd=/usr/bin/cp profiles:User Manager> exit example%
例 9 exec_attr データベースエントリの変更
次を使用して、LDAP の User Manager プロファイルの exec_attr データベースエントリの属性を変更します。/usr/bin/cp エントリは、実ユーザー ID が 0、および実グループ ID が 0 で実行するように変更されます。
example% profiles -p "User Manager" -S ldap profiles:User Manager> select cmd=/usr/bin/cp profiles:User Manager:cp> clear euid profiles:User Manager:cp> clear egid profiles:User Manager:cp> set uid=0 profiles:User Manager:cp> set gid=0 profiles:User Manager:cp> end profiles:User Manager> exit example%
次の終了値が返されます。
正常終了。
エラーが発生しました。
/etc/security/exec_attr
/etc/security/prof_attr
/etc/user_attr
/etc/security/policy.conf
次の属性についての詳細は、attributes(5) を参照してください。
|
auths(1), pfexec(1), pkg(1), roles(1), getprofattr(3C), auth_attr(4), exec_attr(4), nsswitch.conf(4), policy.conf(4), prof_attr(4), user_attr(4), audit_flags(5), attributes(5), privileges(5)