profiles - 権利プロファイルの一覧表示および管理
profiles [-lx] [-c command] [user ...] [-S repository]
profiles [-la] [-S repository]
profiles -p profile [-S repository] [subcommand]
profiles -p profile [-S repository] -f command_file
profiles help
profiles ユーティリティーは、ローカルファイルのネームサービスまたは LDAP ネームサービスの prof_attr(5) または exec_attr(5) データベース内の権利プロファイルの構成を作成および変更します。権利プロファイルの構成は、プロファイル名といくつかのプロパティーで作成されています。
次の形式の profiles サブコマンドは、対話形式で使用されます。
profiles –p profile [–S repository] [subcommand]
profiles コマンドは、自分または任意指定のユーザーあるいは役割名に割り当てられている権利プロファイルの名前を標準出力に書き込みます。プロファイルは、特定の機能の実行に必要なコマンドおよび承認を列挙するために使用されるバンドリングメカニズムです。リストには各実行可能ファイルとともに、実効ユーザー ID や実効グループ ID などのプロセス属性が表示されます。特権コマンドインタプリタによって起動されるときにこれらの属性を指定してプロセスが実行されます。pfexec(1) のマニュアルページを参照してください。プロファイルには、prof_attr(5) で定義されているほかのプロファイルを含めることができます。
複数のプロファイルを結合して適切なアクセス制御を作成することができます。プロファイルが割り当てられると、既存のセットに承認が追加されます。複数のプロファイルに同じコマンドが存在する場合、プロファイルの順序付けによって決定された、最初のプロファイルがプロセス属性の設定に使用されます。すべてのコマンドに一致するようにワイルドカードを指定できます。
特殊なプロファイル「Stop」を使用すると、以降のプロファイルの評価がショートカットされます。「Stop」プロファイル以降にあるプロファイルは、評価されることも、ほかのコマンドを見つけるために使用されることもありません。This profile can be used to sidestep profiles listed in /etc/security/policy.conf with the PROF_GRANTED key and the authorizations listed with AUTH_GRANTED in that file.
プロファイルが解釈されると、プロファイルリストが user_attr(5) から読み込まれます。ユーザーごとに、認証されたセットと認証されていないセットという、プロファイルの 2 つのセットがあります。ユーザーは、認証されたプロファイルのセット内のエントリに一致するコマンドを実行する前に再認証する必要があります。See pfexec(1).いずれかのデフォルトプロファイルが /etc/security/policy.conf (policy.conf(5) を参照) で定義されている場合は、user_attr(5) からロードされたリストにデフォルトプロファイルのリストが追加されます。prof_attr(5) 内の一致するエントリは承認のリストを提供し、exec_attr(5) 内の一致するエントリはコマンドのリストを提供します。
–p オプションを指定して呼び出すと、指定されたプロファイルのプロパティーおよび関連付けられている実行可能ファイルのプロパティーを管理できます。ただし、システムの整合性を維持するため、Oracle Solaris によって管理されるプロファイルは、このコマンドを使用しても変更できません。そのようなプロファイルは、システムの更新中に pkg コマンドを使用した場合にのみ変更できます。
また、その他のプロファイルも、pkg コマンドを使用すると、変更できないプロファイルとして必要に応じて配布できます。
特権のエスカレーションを防ぐため、プロパティー値はユーザーの承認に基づいて制限されます。管理者には、少なくとも Rights Management プロファイルが付与されている必要があります。また、委任承認によって管理されているセキュリティー関連のプロパティーを変更するには、管理者に Rights Delegation プロファイルが付与されている必要があります。詳細は、exec_attr(5)、prof_attr(5)、および次のサマリーを参照してください。
プロパティー値には、単純な文字列、またはコンマで区切られた単純な文字列のリストを指定できます。スペース文字を含む単純な文字列は、二重引用符で囲む必要があります。
profiles コマンドは、profile と command の両方のコンテキストで動作します。profile コンテキストは、初期状態であり、各種のプロファイルプロパティーを管理できます。次の表は、profile コンテキストのプロパティーをまとめたものです。
Property Name Value Type Required Authorizations name simple none annotation simple solaris.account.setpolicy 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 access_times list of simple solaris.account.setpolicy desc simple none help simple none pam_policy simple solaris.account.setpolicy 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/delegate} clearance simple solaris.label.delegate
profile コンテキストのプロパティーに指定可能な値を、次のリストに示します次のリストで指定されているように、プロパティーとその値の間には等号 (=) が必要です。
常に監査するイベントクラスを指定する監査フラグ。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
ユーザーに監査レコードの注釈の説明の入力を求めるかどうかを指定します。yes は、ユーザーに、入力が求められたときに注釈の説明を指定することを必要とします。optional は、ユーザーが入力を求められたら注釈の説明を指定できるようにします。no は、ユーザーに注釈の説明の入力を求めず、デフォルトの選択肢です。
監査レコードの注釈の説明は、アプリケーションの PAM 対話機能によって返される改行文字で終了するテキスト行です。注釈テキストは、ユーザーによって生成される各監査レコードに含まれます。
新しいプロファイルに追加される、コンマで区切られた 1 つ以上の承認。ワイルドカード文字 (*) を承認名に使用する場合は、名前を二重引用符 (") で囲む必要があります。
実行可能ファイルへの完全指定パス、またはすべてのコマンドを指定するために使用されるアスタリスク (*) 記号。パス名のファイル名コンポーネントを置き換えるアスタリスクは、特定のディレクトリのすべてのファイルを示します。
これは、command コンテキストを入力して、コマンドのセキュリティープロパティーを管理するために使用される特殊なプロパティーです。
これらの ID には、数値 ID または名前を使用できます。
このプロパティーには、前の cmd プロパティーによって指定された値が設定されますが、この値は変更できます。select サブコマンドと組み合わせて使用すると、その後の編集のために既存のコマンドのプロパティーのクローンを作成できます。
ユーザーに適用する PAM ポリシー。pam_policy は、pam.conf(5) 型式のファイルへの絶対パス名か、または /etc/security/pam_policy にある pam.conf(5) 型式のファイルの名前のどちらかである必要があります。詳細については、pam_user_policy(7) を参照してください。
対応するアプリケーションとサービスのセットにアクセスできる日付と時間を指定する、1 つ以上のコンマ区切りのルール。
特定のサービス名についての時間を確認するとき、評価はユーザーの user_attr(5) データベース内の access_times で指定されたルールを使用して開始され、一致するサービス名またはワイルドカードエントリが見つかるまで、ユーザーのプロファイルおよびサブプロファイル内の access_times に従います。一致が見つからない場合、ユーザーは、そのサービスの時間制限から除外されます。詳細は、user_attr(5) を参照してください。
実行可能プロセスの継承可能セットに適用する一連の特権。デフォルトは basic です。
実行可能プロセスの制限セットに適用する一連の特権。デフォルトは all です。
コマンドで実行するプロセスの実効ユーザー ID。
コマンドで実行するプロセスの実ユーザー ID。
コマンドで実行するプロセスの実効グループ ID。
コマンドで実行するプロセスの実グループ ID。
このコマンドで実行されるプロセスの認可上限。
ユーザーの一連のプロセスに割り当てられるデフォルトの一連の特権。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
新しいプロファイルの説明。テキストは引用符で囲む必要があります。
新しいプロファイルのヘルプファイル名。The help file is copied to the /usr/lib/help/profiles/locale/locale directory, where locale is the value of the user's locale, or C if none is specified.このプロパティーの指定は、files リポジトリでのみ使用できます。
ユーザー、またはユーザーによって開始されたいずれかのプロセス (su(8) またはその他のどの手段を使用したかは問いません) が取得できる最大の特権セット。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
プロファイルの名前。名前の初期値は、コマンド行で –p オプションを使用して指定します。名前を変更すると、現在のプロファイルのプロパティーが、新しい名前が付けられたプロファイルに適用されます。このようにして、その後の編集のために既存のプロファイルのクローンを作成できます。名前には、既存のプロファイルと同じ名前は使用できません。
監査しないイベントクラスを指定する監査フラグ。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。
pfexec(1) コマンドの P オプションを使用して指定できる特権セット。
新しいプロファイルに追加される、コンマで区切られた 1 つ以上の補助プロファイル。
サポートしているオプションは、次のとおりです。
指定されたリポジトリのすべてのプロファイル名を一覧表示します。If no repository is specified, it follows whatever is configured for prof_attr in nsswitch.conf(5).
ユーザーの認証されたプロファイルのセット内のプロファイル名のみを一覧表示します。デフォルトでは、ユーザーの認証されていないプロファイル内のプロファイルのみが一覧表示されます。
profiles のコマンドファイルの名前を指定します。command_file は、profiles サブコマンドが 1 行に 1 つあるテキストファイルです。
Provides information about all rights profiles that are assigned to user and lists the commands and their special process attributes such as user and group IDs.Without the user argument, provides this information about the user who is running the command.
Provides the name of the Rights Profile and the matching id that would be used if the command were executed using a profile shell by the current user or the specified user(s).–l が指定された場合は、対応するプロセス属性も表示されます。–x オプションを指定すると、認証を必要とするユーザーのプロファイルだけが検索の対象となります。指定されたどのユーザーに関しても一致するものが見つからない場合、終了ステータスは 1 に設定されます。それ以外の場合、0 に設定されます。
プロファイル名を指定します。
有効なリポジトリは files と ldap です。
repository は、更新するネームサービスを指定します。The default repository is files.
–p オプションを指定して呼び出すと、サブコマンドをコマンド行または対話形式で指定できます。セミコロンで区切られた複数のサブコマンドをコマンド行に指定するには、一連のサブコマンド全体を引用符で囲みます。サブコマンドが指定されていない場合は、対話型セッションが行われることを意味します。対話型セッションでは、TAB キーを使用することにより、サブコマンドの自動補完を呼び出すことができます。
add サブコマンドと select サブコマンドを使用すると、特定のコマンドを選択できます。選択した時点で、コンテキストがそのコマンドのコンテキストに変更されます。対話型セッションでは、command コンテキストは、プロンプト文字列のコマンドのベース名によって識別されます。The end and cancel subcommands are used to complete the command specification, at which time the context is reverted to the profile context.
破壊的な動作や作業内容の消失を伴う可能性のあるサブコマンドには、強制的にその処理を実行するために –F オプションが用意されています。端末デバイスから入力を行う場合、ユーザーは適切なタイミングで入力を要求されます。これは、サブコマンドが –F オプションなしで指定された場合に発生することがあります。それ以外の場合、アクションは許可されず、診断メッセージが標準エラー出力に書き込まれます。
プロパティー値には、単純値、またはリストを受け入れるプロパティーの場合は、単純値のリストを指定できます。サポートされているサブコマンドは次のとおりです。
profile コンテキストで、対象となるコマンドの指定を開始します。コンテキストは、command タイプに変更されます。
指定した値を現在のプロパティー値に追加します。このサブコマンドを適用できるのは、リストを受け入れるプロパティーのみです。
End the command specification and reset context to 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 コンテキストの両方で適用できます。
現在の構成が正しいかどうかを確認します。
必須のプロパティーが指定されている。
各キーワードの値が有効である。
ユーザーは値を指定することを承認されている。
profiles コマンドの出力は次の形式です。
example% profiles tester01 tester02 tester01 : Audit Management, All Commands tester02 : Device Management, All Commands使用例 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 *使用例 3 新しいプロファイルの作成
The following creates a new “User Manager” profile in LDAP.The new profile description is “Manage users and groups”, and the authorization assigned is solaris.user.manage.The supplementary profile assigned is “Mail Management”.
example% profiles -p "User Manager" -S ldap profiles:User Manager> set desc="Manage users and groups" profiles:User Manager> set auths=solaris.user.manage profiles:User Manager> set profiles="Mail Management" profiles:User Manager> exit使用例 4 Displaying Information Regarding a Profile
The following command displays information regarding the “User Manager” profile:
example% profiles -p "User Manager" -S ldap info name=User Manager desc=Manage users and groups auths=solaris.user.manage profiles=Mail Management使用例 5 Deleting a Profile
The following command deletes the “User Manager” profile from LDAP:
example% profiles -p "User Manager" -S ldap delete -F使用例 6 Modifying a Profile
The following modifies the “User Manager” profile in LDAP.The new profile description is “Manage world”, the new authorization assignment is solaris.user.* authorizations, and the new supplementary profile assignment is 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 データベースエントリの作成
The following command creates a new exec_attr entry for the “User Manager” profile in LDAP./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使用例 8 exec_attr データベースエントリの削除
The following example deletes an exec_attr database entry for the “User Manager” profile from LDAP.コマンド /usr/bin/cp に指定されているエントリが削除されます。
example% profiles -p "User Manager" -S ldap profiles:User Manager> remove cmd=/usr/bin/cp profiles:User Manager> exit使用例 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使用例 10 コマンドに関連付けられた属性の表示
次のコマンドは、2 人のユーザー John および Mary がプロファイルシェルを使用してコマンド /usr/sbin/useradd を実行した場合にコマンドに適用されるプロセス属性を表示します。
example% profiles -lc /usr/sbin/useradd john mary john: name=User Management id=/usr/sbin/useradd euid=0 mary: name=All id=*
次の終了ステータスが返されます。
正常終了
エラーが発生したか、コマンドに対応するプロファイルがユーザーに割り当てられていません
/etc/security/exec_attr
/etc/security/prof_attr
/etc/user_attr
/etc/security/policy.conf
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
auths(1), pfexec(1), pkg(1), roles(1), getprofattr(3C), auth_attr(5), exec_attr(5), nsswitch.conf(5), pam.conf(5), policy.conf(5), prof_attr(5), user_attr(5), attributes(7), audit_flags(7), pam_user_policy(7), privileges(7), rbac(7)