Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2022年7月27日
 
 

profiles(1)

名前

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 コマンドは、profilecommand の両方のコンテキストで動作します。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 コンテキストのプロパティーに指定可能な値を、次のリストに示します次のリストで指定されているように、プロパティーとその値の間には等号 (=) が必要です。

always_audit

常に監査するイベントクラスを指定する監査フラグ。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。

annotation

ユーザーに監査レコードの注釈の説明の入力を求めるかどうかを指定します。yes は、ユーザーに、入力が求められたときに注釈の説明を指定することを必要とします。optional は、ユーザーが入力を求められたら注釈の説明を指定できるようにします。no は、ユーザーに注釈の説明の入力を求めず、デフォルトの選択肢です。

監査レコードの注釈の説明は、アプリケーションの PAM 対話機能によって返される改行文字で終了するテキスト行です。注釈テキストは、ユーザーによって生成される各監査レコードに含まれます。

auths

新しいプロファイルに追加される、コンマで区切られた 1 つ以上の承認。ワイルドカード文字 (*) を承認名に使用する場合は、名前を二重引用符 (") で囲む必要があります。

cmd

実行可能ファイルへの完全指定パス、またはすべてのコマンドを指定するために使用されるアスタリスク (*) 記号。パス名のファイル名コンポーネントを置き換えるアスタリスクは、特定のディレクトリのすべてのファイルを示します。

これは、command コンテキストを入力して、コマンドのセキュリティープロパティーを管理するために使用される特殊なプロパティーです。

これらの ID には、数値 ID または名前を使用できます。

id

このプロパティーには、前の cmd プロパティーによって指定された値が設定されますが、この値は変更できます。select サブコマンドと組み合わせて使用すると、その後の編集のために既存のコマンドのプロパティーのクローンを作成できます。

pam_policy

ユーザーに適用する PAM ポリシー。pam_policy は、pam.conf(5) 型式のファイルへの絶対パス名か、または /etc/security/pam_policy にある pam.conf(5) 型式のファイルの名前のどちらかである必要があります。詳細については、pam_user_policy(7) を参照してください。

access_times

対応するアプリケーションとサービスのセットにアクセスできる日付と時間を指定する、1 つ以上のコンマ区切りのルール。

特定のサービス名についての時間を確認するとき、評価はユーザーの user_attr(5) データベース内の access_times で指定されたルールを使用して開始され、一致するサービス名またはワイルドカードエントリが見つかるまで、ユーザーのプロファイルおよびサブプロファイル内の access_times に従います。一致が見つからない場合、ユーザーは、そのサービスの時間制限から除外されます。詳細は、user_attr(5) を参照してください。

privs

実行可能プロセスの継承可能セットに適用する一連の特権。デフォルトは basic です。

limitprivs

実行可能プロセスの制限セットに適用する一連の特権。デフォルトは all です。

euid

コマンドで実行するプロセスの実効ユーザー ID。

uid

コマンドで実行するプロセスの実ユーザー ID。

egid

コマンドで実行するプロセスの実効グループ ID。

gid

コマンドで実行するプロセスの実グループ ID。

clearance

このコマンドで実行されるプロセスの認可上限。

defaultpriv

ユーザーの一連のプロセスに割り当てられるデフォルトの一連の特権。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。

desc

新しいプロファイルの説明。テキストは引用符で囲む必要があります。

help

新しいプロファイルのヘルプファイル名。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 リポジトリでのみ使用できます。

limitpriv

ユーザー、またはユーザーによって開始されたいずれかのプロセス (su(8) またはその他のどの手段を使用したかは問いません) が取得できる最大の特権セット。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。

name

プロファイルの名前。名前の初期値は、コマンド行で –p オプションを使用して指定します。名前を変更すると、現在のプロファイルのプロパティーが、新しい名前が付けられたプロファイルに適用されます。このようにして、その後の編集のために既存のプロファイルのクローンを作成できます。名前には、既存のプロファイルと同じ名前は使用できません。

never_audit

監査しないイベントクラスを指定する監査フラグ。ユーザーの user_attr(5) エントリ、または割り当てられているプロファイルの順序付けされたリストにある、このプロパティーの最初に出現しているもののみが、ログインおよび su で適用されます。

privs

pfexec(1) コマンドの P オプションを使用して指定できる特権セット。

profiles

新しいプロファイルに追加される、コンマで区切られた 1 つ以上の補助プロファイル。

オプション

サポートしているオプションは、次のとおりです。

–a

指定されたリポジトリのすべてのプロファイル名を一覧表示します。If no repository is specified, it follows whatever is configured for prof_attr in nsswitch.conf(5).

–x

ユーザーの認証されたプロファイルのセット内のプロファイル名のみを一覧表示します。デフォルトでは、ユーザーの認証されていないプロファイル内のプロファイルのみが一覧表示されます。

–f command_file

profiles のコマンドファイルの名前を指定します。command_file は、profiles サブコマンドが 1 行に 1 つあるテキストファイルです。

–l [user]

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.

–c 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 に設定されます。

–p profile

プロファイル名を指定します。

–S repository

有効なリポジトリは filesldap です。


注 -  LDAP リポジトリを更新する場合、LDAP サーバーとクライアントの両方が EnableShadowUpdate=true で構成されている必要があります。

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 オプションなしで指定された場合に発生することがあります。それ以外の場合、アクションは許可されず、診断メッセージが標準エラー出力に書き込まれます。

プロパティー値には、単純値、またはリストを受け入れるプロパティーの場合は、単純値のリストを指定できます。サポートされているサブコマンドは次のとおりです。

add cmd=pathname

profile コンテキストで、対象となるコマンドの指定を開始します。コンテキストは、command タイプに変更されます。

add property-name=property-value

指定した値を現在のプロパティー値に追加します。このサブコマンドを適用できるのは、リストを受け入れるプロパティーのみです。

cancel

End the command specification and reset context to profile.指定途中のリソースをすべて破棄します。cancel を適用できるのは、command コンテキストのみです。

clear property-name

プロパティーの値を消去します。

commit

現在の構成をメモリーから安定した記憶領域に確定します。変更を適用するには、構成を確定する必要があります。メモリー内構成を確定するまでは、revert サブコマンドを使って変更を取り消すことができます。profiles セッションが終了するときには、commit 処理が自動的に試みられます。構成が正しく設定されていないと確定できないので、この処理では自動的に構成が確認されます。

delete [–F]

指定されたプロファイルをメモリー内および安定した記憶領域から削除します。この操作は、対象のプロファイルが同じリポジトリの別のプロファイルにサブプロファイルとして含まれている場合は許可されません。代わりに、このプロファイルを含むプロファイルのリストが提供されます。それらのプロファイルからこのプロファイルを手動で削除してから、対象のプロファイルを削除する必要があります。この操作を強制的に実行する場合は、–F オプションを使用します。削除が許可される場合、アクションはすぐに実行され、セッションは終了します。

end

コマンドの指定を終了します。このサブコマンドを適用できるのは、command コンテキストのみです。profiles コマンドは、現在のコマンドが完全に指定されていることを検査します。完全に指定されている場合は、メモリー内構成に追加され (メモリー内構成を安定した記憶領域に保存する方法については commit を参照)、コンテキストは profile コンテキストに戻ります。指定が完全でない場合は、対応するエラーメッセージが通知されます。

exit [–F]

profiles のセッションを終了します。必要な場合は、commit 操作が自動的に試行されます。EOF 文字を使用して profiles を終了することもできます。この操作を強制的に実行する場合は、–F オプションを使用します。

export [–f output-fle ]

標準出力に構成を出力します。output-file に構成を出力する場合は、–f オプションを使用します。このオプションを使用すると、コマンドファイルオプションに適した形式で出力が作成されます。

help [usage | subcommands | properties | subcommand | property]

一般ヘルプまたは特定項目のヘルプを出力します。

info [property-name]

現在のプロファイルまたは指定されたプロパティーに関する情報を表示します。

remove cmd=fullpath

指定されたコマンドをプロファイルから削除します。このサブコマンドは、profile コンテキストでのみ有効です。

remove [–F] cmd

プロファイルからすべてのコマンドを削除します。–F オプションを使用していない場合は、確認が求められます。このサブコマンドは、profile コンテキストでのみ有効です。

remove property-name=property-value

指定した値をプロパティーから削除します。これを適用できるのは、リストを受け入れるプロパティーのみです。

revert [–F]

構成を、最後に確定されたときの状態に戻します。この操作を強制的に実行する場合は、–F オプションを使用します。

select cmd=fullpath

変更を行うために、指定したパス名の条件に一致するコマンドを選択します。このサブコマンドを適用できるのは、profile コンテキストのみです。

set property-name=property-value

指定されたプロパティー名を、指定された値に設定します。profile コンテキストでのみ有効なプロパティー (たとえば、namedesc) と、command コンテキストでのみ有効なプロパティーがあります。このサブコマンドは、profile コンテキストと command コンテキストの両方で適用できます。

verify

現在の構成が正しいかどうかを確認します。

  • 必須のプロパティーが指定されている。

  • 各キーワードの値が有効である。

  • ユーザーは値を指定することを承認されている。

使用例 1 profiles コマンドを使用する

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=*

終了ステータス

次の終了ステータスが返されます。

0

正常終了

1

エラーが発生したか、コマンドに対応するプロファイルがユーザーに割り当てられていません

ファイル

/etc/security/exec_attr

/etc/security/prof_attr

/etc/user_attr

/etc/security/policy.conf

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

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)

Oracle Solaris 11.4 ディレクトリサービスおよびネームサービスでの作業: LDAP