はじめに
こんにちは!今回はwhoamiコマンドについて学んでいきましょう。
whoamiは、現在ログインしているユーザーの名前を表示するコマンドです。シンプルですが、「今どのユーザーで実行されているか?」を確認する時に超便利。スクリプトで権限確認する時にも使われます。
whoamiコマンドとは
whoamiコマンドは、現在のシェルセッションで実行しているユーザーの名前を表示する外部コマンドです。「Who am I?」という意味で、自分が誰かを教えてくれます。
シンプルながら、権限確認やスクリプト内での処理分岐に欠かせないツール。
基本構文
|
|
オプションはありません。実行するだけで現在のユーザー名が表示されます。
主なオプション
このコマンドにはほぼオプションがありません。
| オプション | 説明 |
|---|---|
--help |
ヘルプを表示 |
--version |
バージョンを表示 |
使用例
例1: 基本的な使い方
|
|
実行結果:
|
|
現在ログインしているユーザー名userが表示されます。
例2: rootユーザーで実行した場合
|
|
実行結果:
|
|
sudo経由で実行されているため、rootが表示されます。
例3: 別のユーザーで実行
|
|
実行結果:
|
|
切り替えたユーザーの名前が表示されます。
例4: スクリプト内で利用
|
|
実行結果:
|
|
スクリプト内で変数に格納して利用できます。
例5: ユーザー確認による処理分岐
|
|
実行結果(通常ユーザーで実行時):
|
|
権限に応じた処理分岐が可能です。
例6: ログファイルにユーザーを記録
|
|
実行結果(ログファイルの内容):
|
|
実行ユーザーと時刻をログに記録。
例7: idコマンドとの比較
|
|
実行結果:
|
|
一方、より詳しいユーザー情報を知りたい場合はidコマンドを使用:
|
|
実行結果:
|
|
Tips・注意点
whoamiとidの違い
- whoami: ユーザー名だけを表示(シンプル)
- id: UID、GID、グループ情報を詳しく表示(詳細)
目的に応じて使い分けます。
実効ユーザーIDを確認
|
|
whoamiは名前を、id -uはUIDを表示。スクリプトではUIを使うことも多い。
sudoで別ユーザー実行時
|
|
Apache ユーザーで実行される内容を確認したい場合。
CIスクリプトでの権限確認
|
|
スクリプトが特定のユーザーで実行されているか検証。
実践的な使い方
インストールスクリプトでroot権限チェック
|
|
root権限が必要なスクリプトで権限確認。
ユーザー別ログ記録
|
|
ユーザーごとにログファイルを分けて記録。
デバッグ情報の出力
|
|
トラブルシューティング時に実行環境を把握。
バックアップスクリプトの安全性確認
|
|
危険な操作を実行する前に権限を確認。
まとめ
whoamiコマンドのポイント:
- 現在のユーザー名を表示するシンプルなコマンド
- オプションがほぼないため、使い方は簡単
- スクリプト内で権限確認に活躍
- ユーザー名に応じた処理分岐が可能
idコマンドでより詳しい情報を取得可能- セキュリティチェック・デバッグに必須
whoamiコマンドは、シンプルながら実務スクリプトでは欠かせないツール。権限確認をしっかり行って、安全なシステム運用を心がけましょう!