実行属性は、特定の UID または GID に関連付けられるコマンドで、権利プロファイルに割り当てられます。セキュリティ属性を指定したコマンドは、権利プロファイルが割り当てられているユーザーまたは役割が実行できます。
exec_attr データベースには、実行属性の定義が格納されます。
exec_attr データベースのフィールドは次のようにコロンで区切って指定します。
name:policy:type:res1:res2:id:attr |
次の表で、これらのフィールドについて説明します。
フィールド名 |
説明 |
---|---|
name |
権利プロファイルの名前。権利プロファイル名では大文字と小文字が区別される。この名前は、prof_attr データベースの権利プロファイルを参照する |
policy |
このエントリに関連付けるセキュリティポリシー。現時点では、suser (スーパーユーザーポリシーモデル) が唯一の有効なエントリである |
type |
指定するエンティティの種類。現在は、cmd (コマンド) が唯一の有効なエンティティである |
res1 |
将来の使用に予約 |
res2 |
将来の使用に予約 |
id |
エンティティを識別する文字列。コマンドには、完全パスかワイルドカードをもつパスを指定する。引数を指定する場合は、引数をもつスクリプトを作成し、そのスクリプトを id に指定する |
attr |
実行時にそのエンティティに適用するセキュリティ属性を記述する鍵と値のペアをセミコロン (;) で区切ったリスト (オプション)。0 または 1 つ以上の鍵を指定できる。有効なキーワードのリストは、適用するポリシーによって異なる。有効な鍵は、euid、uid、egid、gid の 4 つである euid および uid キーワードには、1 つのユーザー名またはユーザー ID (UID) の数値が含まれる。euid を使用すると、コマンドは指定された実効 UID で動作する。これは、実行可能ファイルに setuid ビットを設定することと同じである。uid を使用すると、コマンドは指定された実 UID と実効 UID で動作する egid および gid キーワードには、1 つのグループ名またはグループ ID (GID) の数値が含まれる。egid を使用すると、コマンドは指定された実効 GID で動作する。これは、実行可能ファイルに setgid ビットを設定することと同じである。gid を使用すると、コマンドは指定された実 GID と実効 GID で動作する |
次の例に、exec_attr データベースの標準的な値をいくつか示します。
% grep 'Printer Management' /etc/security/exec_attr Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp Printer Management:suser:cmd:::/usr/ucb/lpq:euid=0 Printer Management:suser:cmd:::/etc/init.d/lp:euid=0 . . . |