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