【Linux】whoamiコマンドの使い方|現在のユーザー名を確認する

【Linux】whoamiコマンドの使い方|現在のユーザー名を確認する

PR Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:3,481

whoamiコマンドは、現在操作しているユーザー名(実効ユーザー)を確認できるLinuxコマンドです。基本的な使い方からsu・sudo使用時の挙動、シェルスクリプトでの活用法、who am iやidコマンドとの違い、Windowsでの使い方まで実行例付きで解説します。

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

初心者向け

わかばちゃんと学ぶ サーバー監視

難易度
実用性
読みやすさ

マンガと図解が中心で圧倒的に読みやすい。負荷調査の手法がスッと理解できるようになります。

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ

LinuxLinux [リナックス / ライナックス]オープンソースのOSカーネルで複数のユーザーを使い分けていると、「今、自分はどのユーザーで操作しているのか?」がわからなくなることがあります。whoamiコマンドを使えば、現在の実効ユーザー名をワンコマンドで確認できます。

本記事では、whoamiコマンドの基本的な使い方から、susudo使用時の挙動の違い、シェルスクリプトでの活用法、似たコマンド(who am iid)との使い分けまで、実行例を交えて解説します。

記事のポイント

  • whoamiは現在の実効ユーザー名を表示するコマンド 引数やオプションなしで実行するだけで、今どのユーザーとして操作しているかを即座に確認できる。

  • su・sudosudo [スードゥー / スーデュー]Superuser doの略。一時的に他のユーザー(主に管理者特権)の権限でコマンドを実行する使用時にユーザーの切り替え状態を確認できる suでユーザーを切り替えた後やsudo suでroot権限に昇格した後の確認に便利。

  • シェルスクリプトでの権限チェックに活用できる スクリプト内で実行ユーザーを判定し、rootでない場合に処理を中断するといった制御が可能。

  • who am iやidコマンドとは役割が異なる who am iはログイン元のユーザー、idはUID・GID・グループ情報を表示するなど、目的に応じた使い分けが必要。

whoamiコマンドとは

whoamiコマンドは、現在の実効ユーザー名(Effective User)を表示するLinux/UNIXコマンドです。名前の由来は「Who am I?(私は誰?)」で、今自分がどのユーザーとしてシステムを操作しているかを確認するために使用します。

whoamiは内部的にid -unと同等の処理を行っており、EUID(実効ユーザーID)に対応するユーザー名を返します。

主な用途は以下の通りです。

  • ユーザー切り替え後の確認susudo suの後に、意図したユーザーに切り替わっているかを確認
  • リモート接続時の確認SSHSSH [エスエスエイチ]Secure Shell。暗号化されたリモート接続プロトコルでサーバーに接続した際に、正しいユーザーでログインできているかを確認
  • シェルスクリプトでの権限チェック:スクリプト内で実行ユーザーを判定し、処理を分岐させる

whoamiコマンドの基本的な使い方

基本構文

whoamiコマンドの構文は非常にシンプルです。

構文
whoami [オプション]

通常は引数もオプションも指定せず、whoamiとだけ入力して実行します。

コマンド例:現在のユーザー名を確認

以下の例は、現在操作しているユーザー名を表示します。

実行コマンド
whoami
実行結果
testuser

現在のシェルがtestuserの権限で動作していることがわかります。

su・sudo使用時のwhoamiの挙動

whoamiコマンドは実効ユーザー名を表示するため、susudoでユーザーを切り替えると表示結果が変わります。

suコマンドでユーザーを切り替えた場合

suコマンドで別のユーザーに切り替えた後にwhoamiを実行すると、切り替え先のユーザー名が表示されます。

実行コマンド
su - appuser
whoami
実行結果
appuser

sudo suでrootに切り替えた場合

sudo suでroot権限に昇格した後は、whoamiの結果がrootになります。

実行コマンド
sudo su -
whoami
実行結果
root

sudoで単一コマンドを実行した場合

sudoを付けてwhoamiを実行すると、一時的にroot権限で実行されるためrootと表示されます。

実行コマンド
sudo whoami
実行結果
root

一方、sudoを付けずに実行すれば元のユーザー名が表示されます。この違いを利用して、sudoが正しく動作しているかの確認にも使えます。

なお、sudo -uオプションで特定のユーザーを指定した場合は、そのユーザー名が表示されます。

実行コマンド
sudo -u appuser whoami
実行結果
appuser

sudo whoamiが常にrootを返すわけではなく、/etc/sudoersの設定や-uオプションの指定によって結果が変わる点に注意してください。

シェルスクリプトでのwhoamiの活用

root権限チェック

システム管理用のスクリプトでは、root以外のユーザーで誤って実行されることを防ぐために、whoamiで実行ユーザーを判定する方法がよく使われます。

root権限チェックのスクリプト例
#!/bin/bash
if [ "$(whoami)" != "root" ]; then
echo "エラー: このスクリプトはroot権限で実行してください。"
exit 1
fi
echo "root権限で実行中です。処理を開始します。"
# 以降の処理...

特定ユーザーでの実行を強制する

アプリケーション専用ユーザーで実行する必要があるスクリプトでは、以下のようにチェックできます。

特定ユーザーチェックのスクリプト例
#!/bin/bash
EXPECTED_USER="appuser"
if [ "$(whoami)" != "$EXPECTED_USER" ]; then
echo "エラー: このスクリプトは ${EXPECTED_USER} ユーザーで実行してください。"
exit 1
fi
echo "${EXPECTED_USER} ユーザーで実行中です。"

ログにユーザー名を記録する

スクリプトの実行ログに、誰が実行したかを記録する用途にも活用できます。

ログ記録のスクリプト例
#!/bin/bash
LOG_FILE="/var/log/my_script.log"
echo "$(date '+%Y-%m-%d %H:%M:%S') [$(whoami)] スクリプトを実行しました" >> "$LOG_FILE"

whoamiのオプション

whoamiコマンドには主に以下の2つのオプションがあります。

オプション説明
--helpヘルプメッセージを表示する
--versionバージョン情報を表示する

whoamiはユーザー名を表示するだけのシンプルなコマンドのため、動作を変更するオプションはありません。

whoamiと似たコマンドの違い

ユーザー情報を確認するコマンドには、whoami以外にもwho am iidがあります。それぞれの違いを理解して、目的に応じて使い分けましょう。

比較表

コマンド表示内容su後の変化主な用途
whoami現在の実効ユーザー名変わる今の操作権限を確認する
who am iログイン元のユーザー名・端末・時刻変わらない最初にログインしたユーザーを確認する
idUID・GID・所属グループの一覧変わる権限やグループの詳細を確認する
lognameログイン時のユーザー名変わらないログインユーザーの名前だけを取得する

whoamiとwho am iの違い

whoami現在の実効ユーザー名を返すのに対し、who am iシステムに最初にログインしたユーザーの情報を返します。

最大の違いはsuコマンドでユーザーを切り替えたときの挙動です。

実行コマンド
# 元のユーザー(testuser)で確認
whoami
who am i
# rootに切り替えて再度確認
sudo su -
whoami
who am i
実行結果
# 元のユーザーで確認
testuser
testuser pts/0 2026-08-11 10:00
# rootに切り替え後
root
testuser pts/0 2026-08-11 10:00

whoamirootに変わりましたが、who am iは最初にログインしたtestuserのまま変わりません。これにより、元々どのユーザーとしてログインしていたかを確認できます。

ただし、who am iはutmp/wtmpのログインレコードに基づいて動作するため、SSHやコンソールなどの対話的ログインセッション以外では正しく動作しない場合があります。たとえばDockerDocker [ドッカー]コンテナ型仮想化プラットフォームコンテナ内や、擬似端末(pty)を伴わないスクリプト実行環境では、結果が空になったりエラーになることがあるため注意が必要です。

whoamiとidコマンドの違い

idコマンドは、whoamiよりも詳細な情報を表示します。

実行コマンド
id
実行結果
uid=1000(testuser) gid=1000(testuser) groups=1000(testuser),27(sudo),999(docker)

idはUID(ユーザーID)、GID(グループID)、所属グループの一覧まで表示されるため、権限やグループの詳細を確認したい場合に適しています。

ユーザー名だけを知りたい場合はid -unを使うことで、whoamiと同じ結果が得られます。

実行コマンド
id -un
実行結果
testuser

Windowsでのwhoamiコマンド

whoamiコマンドはLinuxだけでなく、Windowsのコマンドプロンプト(cmd)やPowerShellでも使用できます。

基本的な使い方

実行コマンド
whoami
実行結果
desktop-abc1234\testuser

Windowsでは「コンピュータ名\ユーザー名」の形式で表示されます。

Windows版の主なオプション

Windows版のwhoamiにはLinux版にはない便利なオプションがあり、より詳細な情報を確認できます。

オプション説明
/userユーザー名とSID(セキュリティ識別子)を表示する
/groups所属グループの一覧を表示する
/priv現在のユーザーに割り当てられた特権(権限)を一覧表示する
/allユーザー情報、グループ、特権をすべて表示する
/fo 形式出力形式を指定する(TABLELISTCSV
/nhテーブル・CSVCSV [シーエスブイ]Comma-Separated Values。カンマ区切りのデータ形式出力時にヘッダー行を非表示にする
/?ヘルプを表示する

whoami /allの実行例

/allオプションを使うと、ユーザー名・SID・所属グループ・特権のすべてが一覧表示されます。

実行コマンド
whoami /all

権限に関するトラブルシューティングの際に、現在のユーザーにどのような権限が割り当てられているかをまとめて確認する場合に便利です。

whoami /privの実行例

/privオプションでは、現在のユーザーに割り当てられている特権の一覧と、その有効・無効の状態を確認できます。

実行コマンド
whoami /priv

プログラムが「権限不足」で動作しない場合に、必要な特権が付与されているかを確認する際に活用できます。

まとめ

whoamiコマンドは、現在の実効ユーザー名を確認できるシンプルなLinuxコマンドです。susudoでユーザーを切り替えた後の確認や、シェルスクリプトでの権限チェックなど、実務でも頻繁に使用される基本的なコマンドです。

似たコマンドとしてwho am i(ログイン元のユーザーを確認)やid(UID・GID・グループの詳細を確認)がありますが、目的に応じて使い分けましょう。

ユーザー・権限管理コマンドのまとめ Linuxのユーザー管理や権限管理に関するその他のコマンドについては、以下のまとめ記事もあわせて参考にしてください。

【Linux】ユーザー・権限管理コマンドまとめ
ITナレッジライフ

【Linux】ユーザー・権限管理コマンドまとめ

Linuxのユーザー管理(useradd, adduser, userdel)や権限管理(chmod, chown, sudo, umask)に関する必須コマンドを一覧で紹介。新規ユーザー作成からsudo権限の付与、再帰的なパーミッション変更まで、実務で役立つ使い方や実例を体系的にまとめています。


以上で本記事の解説を終わります。
よいITライフを!
ITナレッジライフ 運営者
この記事を書いた人

Z (ITナレッジライフ)

現役のITエンジニア。Linux、プログラミング、IT用語など、日々の業務で得た「痒いところに手が届く」技術情報を発信しています。

プロフィールと編集ポリシーを見る

Linuxユーザにお勧めの本 ↗

最新版

ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方

難易度
実用性
最新度

Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。

人気記事


記事を評価

Thanks!
目次
Scroll to Top