id コマンド

目的

指定されたユーザーのシステム識別を表示します。

構文

id [user]

id -G [-n ] [User ]

id -g [ -n l | [ -n -r ] [ User ]

id -u [-n l | [ -n r ] [User]

説明

id コマンドは、指定されたユーザーのシステム識別 (ID) を含むメッセージを標準出力に書き出します。システム ID は、ユーザーとユーザー・グループをシステムに対して識別する番号です。 システム ID は、システムがユーザーとユーザー・グループを識別するための番号です。 id コマンドは、該当する場合に以下の情報を書き込みます。

  • ユーザー名と実ユーザー ID
  • ユーザー・グループ名と実グループ ID
  • ユーザーの補足グループ名と補足グループ ID

    補足グループ情報は、システムがサポートする複数ユーザー・グループについてのみ、また指定したユーザーが補足グループに属している場合にのみ書き込まれます。

id コマンドは、その id コマンドを呼び出したユーザーに対してのみ、実効ユーザー ID と実効グループ ID も書き込みます。 (id コマンドに User パラメーターを指定した場合、実効 ID は、実 ID と同一のものとして取り扱われます。) 呼び出し元のユーザーの実効 ID と実 ID が異なるときには、id コマンドは該当する場合に以下の実効 ID 情報を書き込みます。

  • 実効ユーザー名と実効ユーザー ID
  • 実効ユーザーのグループ名と実効グループ ID

id コマンドは、-l オプション と一緒に指定された場合は、ログイン UID を表示します。ログイン ID は、セッションへのログイン時 のシステム・クリデンシャルを示します。 ログイン UID は、実際にログインしたユーザーのユーザー ID (数値) を示します。 ログイン UID は、システムにログインしたユーザーおよび未変更のままの クリデンシャルを保持するユーザーの UID と同じです。 例えば、ユーザーが su コマンド実行時、そのユーザーの UID が 変わって、ログイン UID は変わらず同じままです。

id コマンドが失敗に終わるのは 、指定されたユーザーが存在しないか、またはこのコマンドがユーザー情報または グループ情報を読み取れない場合です。

フラグ

id コマンドが書き込むメッセージの内容とフォーマットは、以下のフラグで変更できます。

項目 説明
-G id コマンドが実効 ID、実 ID、補足グループ ID のみを 書き込むように指定します。実効 ID、実 ID、または補足 ID に複数のエントリーがある場合 は、スペースで区切って同じ行に出力します。
-g id コマンドが実効グループ ID のみを書き込むように指定します。
-u id コマンドが実効ユーザー ID のみを書き込むように指定します。
-r id コマンドが実効 ID ではなく実 ID を書き込むように指定します。 このフラグは、実グループ ID を書き込む -g フラグ、または 実ユーザー ID を書き込む -u フラグのいずれかと一緒に 呼び出せます。
-n id コマンドを -G フラ グ、-g フラグ、また は -u フラグと共に指定する場合は、このコマンドが ID 番号ではなく名前を出力することを指定します。
-l id コマンドが実 ID または実効 ID ではなくログイン ID を書き込むように指定します。 このフラグは、ログイン UID を書き込む -u フラグ、またはログイン・ユーザー の 1 次グループ ID を書き込む -g フラグと共に呼び出すことができます。 username-l オプションと共に渡されると、id コマンド は、ログイン ID 詳細の代わりにユーザー名の ID 詳細を表示します。
User id コマンドにユーザーのログイン名を指定します。ユーザーを指定しないと、id コマンドの呼び出し元であるユーザーがデフォルトになります。

セキュリティー

アクセス制御: このプログラムを、トラステッド・コンピューティング・ベースに通常のユーザー・プログラムとしてインストールしてください。

終了状況

このコマンドは次の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

  1. 現行ユーザーのすべてのシステム識別を表示するには、次のように入力します。
    id
    id コマンドの出力は以下のフォーマットで表示されます。
    uid=1544(sah) gid=300(build) euid=0(root) egid=9(printq) groups=0(system),10(audit)
    上記の例では、このユーザーは、ユーザー名が ID 番号 1544sah、 1 次グループ名が ID 番号 300build、実効ユーザー名が ID 番号 0root、 実効グループ名が ID 番号 9printq、 2 つの補足グループ名がそれぞれ ID 番号 010systemaudit です。
  2. 現行ユーザーのすべてのグループ ID 番号を表示するには、次のように入力します。
    id -G
    以下のフォーマットで出力されます。
    0 10 300 9
    -G フラグはユーザーのグループ ID のみを書き込みます。 上記の例では、ユーザー sah は system (0) グループ、audit (10) グループ、 build (300) グループ、printq (9) グループのメンバーです。
  3. 現行ユーザーのすべてのグループ名を表示するには、次のように入力します。
    id -Gn
    以下のフォーマットで出力されます。
    system audit build printq
    -n フラグは ID 番号ではなく名前のみを書き込みます。
  4. 現行ユーザーの実グループ名を表示するには、次のように入力します。
    id -gnr
    以下のフォーマットで出力されます。
    build
  5. root としてログインし、ユーザー sah に 対して su コマンドを実行した後で、ログイン UID を表示するには、次のように入力します。
    id -lu
    以下のフォーマットで出力されます。
    0
  6. 実際にログインしたユーザーの 1 次グループ名を表示するには、次のように入力します。
    id -lgn
    以下のフォーマットで出力されます。
    system
  7. 実際にログインしたユーザーの 1 次グループ ID を表示するには、次のように入力します。
    id -lg
    以下のフォーマットで出力されます。
    0

ファイル

項目 説明
/usr/bin/id id コマンドが入っています。