Linux / コマンド / whoami - 現在有効なユーザー名を確認

whoamiは、現在コマンドを実行しているプロセスの実効ユーザー名を1行で出力します。権限を変更して実行したシェルやスクリプトで、実際にどのユーザーとして動作しているかを素早く確認できます。

ログイン時に使用した元のアカウント名と常に同じとは限りません。sudoまたはsuで実効ユーザーIDが変更された環境では、その有効IDに関連付けられた名前を表示します。実効ユーザーIDは、プロセスのアクセス権判定に使われるユーザーIDです。数値のIDやグループも必要なら idによるユーザー・グループ情報の確認 を使います。

基本的な文法

whoami [オプション]

インストールされている実装とオプションは、配布版によって異なる場合があります。man whoamiで現在のシステムの説明を確認してください。

使用例

現在の実効ユーザー確認

通常はログインアカウントが表示されますが、権限昇格後には昇格したアカウントが表示されることがあります。

whoami

sudo環境比較

sudoによる別ユーザーでの実行 が許可されている環境で試す例です。対象ユーザーはsudoの設定によるため、以下の実行で常にrootになるとは限りません。通常の設定ではrootとして実行されます。ユーザー自身がsudoを使用できるかどうかを確認するためのものではありません。

sudo whoami

ユーザーIDも確認

idはユーザーとグループIDをより詳しく表示します。

id

出力されるユーザー名の意味

whoamiが表示するのは、現在のプロセスの実効ユーザー名です。以下の結果は例であり、実際の名前はログインアカウントや権限の切り替え状況によって異なります。

whoami

例の出力:

alice

sudo whoamiがrootを表示できる理由は、sudoが実行するコマンドの実効ユーザーが変更されるためです。これは元々ログインしたユーザーが誰かを知らせるコマンドとは異なります。数字のUIDとグループまで確認するにはidを使用してください。

主なオプションと形式

オプション・形式 説明
--help インストールされているGNU実装の簡単な使い方を見ます。
--version インストールされているGNU実装のバージョンを見ます。

使用する際の注意点

whoamiの結果だけでは、ログインした元のアカウント、すべてのグループ所属、またはsudoの許可範囲を知ることはできません。ログインを開始したアカウントはlogname、現在のプロセスの数値IDはidと比較してください。環境によっては元のログインセッション情報が存在しない場合があります。

よくある質問

whoamiとid -unは同じですか?

一般的なGNU環境では、どちらも現在実効ユーザーIDの名前を表示します。idには、グループや数字IDを確認する追加オプションがあります。

公式ドキュメント

オプションの正確な動作や実装ごとの違いは、whoamiに関する公式ドキュメントで確認できます。