はじめに

こんにちは!今回はwhoamiコマンドについて学んでいきましょう。

whoamiは、現在ログインしているユーザーの名前を表示するコマンドです。シンプルですが、「今どのユーザーで実行されているか?」を確認する時に超便利。スクリプトで権限確認する時にも使われます。

whoamiコマンドとは

whoamiコマンドは、現在のシェルセッションで実行しているユーザーの名前を表示する外部コマンドです。「Who am I?」という意味で、自分が誰かを教えてくれます。

シンプルながら、権限確認やスクリプト内での処理分岐に欠かせないツール。

基本構文

1
whoami

オプションはありません。実行するだけで現在のユーザー名が表示されます。

主なオプション

このコマンドにはほぼオプションがありません。

オプション 説明
--help ヘルプを表示
--version バージョンを表示

使用例

例1: 基本的な使い方

1
whoami

実行結果:

1
user

現在ログインしているユーザー名userが表示されます。

例2: rootユーザーで実行した場合

1
sudo whoami

実行結果:

1
root

sudo経由で実行されているため、rootが表示されます。

例3: 別のユーザーで実行

1
2
su - ubuntu
whoami

実行結果:

1
ubuntu

切り替えたユーザーの名前が表示されます。

例4: スクリプト内で利用

1
2
3
#!/bin/bash
CURRENT_USER=$(whoami)
echo "現在のユーザー: $CURRENT_USER"

実行結果:

1
現在のユーザー: user

スクリプト内で変数に格納して利用できます。

例5: ユーザー確認による処理分岐

1
2
3
4
5
if [ "$(whoami)" = "root" ]; then
  echo "root権限で実行されています"
else
  echo "通常ユーザーで実行されています"
fi

実行結果(通常ユーザーで実行時):

1
通常ユーザーで実行されています

権限に応じた処理分岐が可能です。

例6: ログファイルにユーザーを記録

1
echo "実行ユーザー: $(whoami) 実行時刻: $(date)" >> execution.log

実行結果(ログファイルの内容):

1
実行ユーザー: user 実行時刻: Fri Jan 03 11:36:43 JST 2026

実行ユーザーと時刻をログに記録。

例7: idコマンドとの比較

1
whoami

実行結果:

1
user

一方、より詳しいユーザー情報を知りたい場合はidコマンドを使用:

1
id

実行結果:

1
uid=1000(user) gid=1000(user) groups=1000(user),4(adm)

Tips・注意点

whoamiとidの違い

  • whoami: ユーザー名だけを表示(シンプル)
  • id: UID、GID、グループ情報を詳しく表示(詳細)

目的に応じて使い分けます。

実効ユーザーIDを確認

1
2
whoami
id -u

whoamiは名前を、id -uはUIDを表示。スクリプトではUIを使うことも多い。

sudoで別ユーザー実行時

1
sudo -u apache whoami

Apache ユーザーで実行される内容を確認したい場合。

CIスクリプトでの権限確認

1
2
3
4
if [ "$(whoami)" != "jenkins" ]; then
  echo "エラー: jenkinsユーザーで実行してください"
  exit 1
fi

スクリプトが特定のユーザーで実行されているか検証。

実践的な使い方

インストールスクリプトでroot権限チェック

1
2
3
4
5
6
7
if [ "$(whoami)" != "root" ]; then
  echo "エラー: rootで実行してください"
  echo "使用方法: sudo $0"
  exit 1
fi

echo "インストールを開始します..."

root権限が必要なスクリプトで権限確認。

ユーザー別ログ記録

1
2
LOG_FILE="/var/log/$(whoami)_commands.log"
echo "$(date): コマンド実行" >> "$LOG_FILE"

ユーザーごとにログファイルを分けて記録。

デバッグ情報の出力

1
2
3
echo "DEBUG: 実行ユーザー=$(whoami)"
echo "DEBUG: ホスト名=$(hostname)"
echo "DEBUG: 現在地=$(pwd)"

トラブルシューティング時に実行環境を把握。

バックアップスクリプトの安全性確認

1
2
3
4
if [ "$(whoami)" = "root" ]; then
  # 危険な操作が可能
  echo "警告: root権限で実行されています"
fi

危険な操作を実行する前に権限を確認。

まとめ

whoamiコマンドのポイント:

  • 現在のユーザー名を表示するシンプルなコマンド
  • オプションがほぼないため、使い方は簡単
  • スクリプト内で権限確認に活躍
  • ユーザー名に応じた処理分岐が可能
  • idコマンドでより詳しい情報を取得可能
  • セキュリティチェック・デバッグに必須

whoamiコマンドは、シンプルながら実務スクリプトでは欠かせないツール。権限確認をしっかり行って、安全なシステム運用を心がけましょう!