subject トークンは、ある操作を実行するユーザーまたは実行を試みるユーザーを記述します。形式は process トークンと同じです。
subject トークンには次の 9 つのフィールドがあります。
subject トークンであることを特定するトークン ID
監査 ID
実効ユーザー ID
実効グループ ID
実ユーザー ID
実グループ ID
プロセス ID
監査セッション ID
デバイス ID とマシンの IP アドレスで構成される端末 ID
監査 ID、ユーザー ID、グループ ID、プロセス ID、セッション ID は、短い形式ではなく長い形式です。
セッション ID、実ユーザー ID、または実グループ ID の subject トークンのフィールドを使用できないことがあります。その場合、値は -1 に設定されます。
端末 ID を含むトークンには、いくつかの種類があります。praudit コマンドは、これらの違いを吸収します。このため、端末 ID を含むすべてのトークンで、端末 ID は同じ方法で処理されます。端末 ID は、IP アドレスとポート番号の組み合わせか、デバイス ID です。モデムに接続されたシリアルポートなどのデバイス ID は、0 である可能性があります。端末 ID には、次の書式があります。
デバイス番号の場合、端末 ID は次のようになります。
「32 ビットアプリケーション」 – 4 バイトのデバイス番号、4 バイトは未使用
「64 ビットアプリケーション」 – 8 バイトのデバイス番号、4 バイトは未使用
Solaris 8 よりも前のリリースのポート番号の場合、端末 ID は次のようになります。
「32 ビットアプリケーション」 – 4 バイトのポート番号、4 バイトの IP アドレス
「64 ビットアプリケーション」 – 8 バイトのポート番号、4 バイトの IP アドレス
Solaris 8 以降のリリースのポート番号の場合、端末 ID は次のようになります。
「32 ビット IPv4」 – 4 バイトのポート番号、4 バイトの IP タイプ、4 バイトの IP アドレス
「32 ビット IPv6」 – 4 バイトのポート番号、4 バイトの IP タイプ、16 バイトの IP アドレス
「64 ビット IPv4」 – 8 バイトのポート番号、4 バイトの IP タイプ、4 バイトの IP アドレス
「64 ビット IPv6」 – 8 バイトのポート番号、4 バイトの IP タイプ、16 バイトの IP アドレス
subjectトークンは、必ずシステムコールに関してカーネルによって生成される監査レコードの一部として返されます。praudit コマンドでは、subject トークンは次のように表示されます。
subject,jdoe,root,root,root,root,1631,1421584480,8243 65558 machine1 |
praudit -x コマンドでは、subject トークンのフィールドは次のように表示されます。行は、表示の都合上、折り返して記載されています。
<subject audit-uid="jdoe" uid="root" gid="root" ruid="root" rgid="root" pid="1631" sid="1421584480" tid="8243 65558 machine1"/> |
次の図に subject トークンの形式を示します。