/etc/security/privcmds ファイル

目的

特権コマンドのセキュリティー属性が入っています。

説明

/etc/security/privcmds ファイルは、特権コマンドとそのセキュリティー属性を含む ASCII スタンザ・ファイルです。 /etc/security/privcmds ファイル内の各スタンザは、コマンドへの絶対パス名と、それに続くコロン (:) によって識別されます。 各スタンザには、 Attribute = Value 形式の属性が含まれています。 パス名はコマンドへの絶対パスでなければならず、シンボリック・リンク・ディレクトリーを含むことも、コマンドへのシンボリック・リンクにすることもできません。 各 属性 = 値 ペアは改行文字で終了し、各スタンザは追加の改行文字で終了します。 スタンザの例については、 を参照してください。

プライバシー・コマンド ファイルに対して行われた変更は、特権コマンド・データベース全体が セックスト コマンドを介してカーネル・セキュリティー・テーブルに送信されるか、システムがリブートされるまで、セキュリティー上の考慮事項に影響しません。

privcmds ファイル内の項目の変更およびリスト作成

/etc/security/privcmds ファイルを直接編集しないでください。 以下のコマンドおよびサブルーチンを使用して、特権コマンド・データベースを操作します。
setsecattr
/etc/security/privcmds ファイルにコマンド・エントリーを追加するか、このファイル内のコマンド・エントリーを変更します。
lssecattr
属性とその値を表示します。
rmsecattr
プライバシー・コマンド ファイルからコマンドを削除します。
/etc/security/privcmds ファイル内のエントリーに影響を与えるプログラムを作成するには、以下の 1 つ以上のサブルーチンを使用します。
  • 取得cmdattr
  • データ取得
  • 書き込み属性
  • putcmdattrs

属性

このファイルのスタンザには、以下の 1 つ以上のセキュリティー属性が含まれています。

項目 説明
accessauths

アクセス許可を許可名のコンマ区切りリストとして指定します。 現在のセッションのユーザーが、リストにある権限のいずれかをもっていれば、コマンドを実行できます。 最大 16 個の許可を指定できます。

この属性には、以下の 3 つの特殊値も使用できます。
所有者の許可
コマンド所有者が 役割ベースのアクセス制御 (RBAC ()) フレームワークを使用できるようにします。 アクセス権限 属性が指定されている場合、コマンド所有者がコマンドを実行すると、 RBAC () フレームワークがプロセスに割り当てられた特権を管理します。 アクセス権限 属性が指定されていない場合、またはコマンドを実行するユーザーが アクセス権限 属性に許可を持たない場合、DAC が実行を制御し、 RBAC () フレームワークは追加の特権を付与しません。
グループの許可
RBAC () フレームワークをグループに使用できるようにします。 アクセス権限 属性が指定されている場合、グループがコマンドを実行すると、 RBAC () フレームワークがプロセスに割り当てられた特権を管理します。 アクセス権限 属性が指定されていない場合、またはコマンドを実行するユーザーが アクセス権限 属性に許可を持たない場合、DAC が実行を制御し、 RBAC () フレームワークは追加の特権を付与しません。
すべて許可 (_ALL)
RBAC () フレームワークをすべてのユーザーに使用できるようにします。 アクセス権限 属性が指定されている場合、誰かがコマンドを実行すると、プロセスに割り当てられた特権が RBAC () フレームワークによって管理されます。 アクセス権限 属性が指定されていない場合、またはコマンドを実行するユーザーが アクセス権限 属性に許可を持たない場合、DAC が実行を制御し、 RBAC () フレームワークは追加の特権を付与しません。
authprivs 特定の許可ベースでプロセスに割り当てられる許可特権を指定します。 コマンドを実行するユーザーは、 認証特権 属性を有効にするために、 アクセス権限 属性を介してコマンドへのアクセス権限を取得する必要があります。 処理されるリスト内の許可ごとに、関連付けられた特権セットが付与されます。 許可と特権のペアの最大数は 16 です。 以下の行に示すように、許可とそれに対応する特権は等号 (=) で区切られ、個々の特権は正符号 (+) で区切られ、許可と特権のペアはコンマで区切られます。
auth=priv+priv...,auth=priv+priv...,...
この属性は、コマンド所有者、グループ、または全員にそれぞれ付与される追加特権を指定するために、 所有者の許可グループの許可、および すべて許可 (_ALL)の 3 つの特殊権限値もサポートします。
authroles ロールまたはロールのリスト。 これらを持つユーザーは、コマンドの実行を許可するために認証される必要があります。 最大 16 個の役割を指定できます。
msgset 許可の 1 行の記述が入っているメッセージ・カタログのファイル名を指定します。 値は文字ストリングです。
innateprivs コマンドの実行中にプロセスに割り当てられる特権のコンマ区切りリストを指定します。 指定された特権がプロセスに割り当てられるのは、コマンド呼び出しがアクセス許可によって許可されている場合のみです。
inheritprivs 子プロセスに渡される特権のコンマ区切りリストを指定します。
euid コマンドの実行中に想定する有効ユーザー ID を指定します。
egid コマンドの実行中に想定する実効グループ ID を指定します。
ruid コマンドの実行中に使用する実ユーザー ID を指定します。
secflags ファイル・セキュリティー・フラグのコンマ区切りリストを指定します。 以下の値が有効です。
FSF_EPS
実行時に、プロセスの最大特権セットを有効な特権セットにロードします。

セキュリティー

root ユーザーとセキュリティー・グループがこのファイルを所有します。 読み取りおよび書き込み権限が root ユーザーに付与されます。 他のユーザーおよびグループのアクセス権限は、システムのセキュリティー・ポリシーによって異なります。

以下の コマンド の例は、ファイル内の標準的なスタンザを示しています。
/usr/bin/myprog:
        accessauths = aix.security.user.create,aix.security.user.change
        authprivs = aix.ras.audit=PV_AU_ADMIN
        innateprivs = PV_DAC_R,PV_DAC_W
        secflags = FSF_EPS
この項目は、このコマンドを実行するユーザーが、コマンドを実行するために アクセス権限 属性にリストされている許可のいずれかを持つロール・セッションに属している必要があることを示します。 この条件が true の場合、 インナテプリーフ 属性にリストされている特権が結果のプロセスに付与されます。 また、このコマンドを実行するユーザーが 認証特権 属性にリストされている特権権限のいずれかを持っている場合、プロセスには追加の関連特権が付与されます。