Linuxサーバーを管理していると、
- 「今ログインしているユーザーは誰?」
- 「誰が作業しているの?」
- 「どの端末からアクセスされている?」
といった情報を把握したい場面が多々あります。
この記事では、Linuxで現在ログイン中のユーザーを確認するコマンドを複数紹介し、それぞれの特徴と使い分け方を初心者向けにわかりやすく解説します。
現在のユーザーを確認:whoami

最も基本的な確認方法で、自分自身のログインユーザー名を確認できます。
whoami
実行結果例:
ubuntu
このコマンドは非常にシンプルですが、「今ログインして操作しているユーザー名を知りたいとき」に最適です。
特に以下のケースで活用できます:
- 複数のターミナルでさまざまなユーザーとしてログインしている場合
su
コマンドでユーザーを切り替えた後- スクリプト実行時に権限を確認したい場合
ログイン中の全ユーザーを確認:who

他のユーザーを含めて、誰がログインしているかを一覧で確認できます。
who
出力例:
ubuntu pts/0 2024-05-05 10:00 (192.168.1.101)
admin pts/1 2024-05-05 10:15 (192.168.1.102)
john pts/2 2024-05-05 11:20 (10.0.0.5)
この出力から以下の情報が確認できます:
項目 | 内容 | 例 |
---|---|---|
ユーザー名 | ログイン中のユーザー | ubuntu, admin, john |
端末 | ターミナルセッション(SSHなど) | pts/0, pts/1, pts/2 |
時刻 | ログインした日時 | 2024-05-05 10:00 |
ホスト | リモート接続元のIPアドレスなど | (192.168.1.101) |
便利なオプション:
who -H
: ヘッダー行を表示(列の意味が明確になる)who -a
: すべての情報を表示(詳細モード)who -b
: 最後のシステム起動時間を表示who -u
: アイドル時間も表示
実行例(who -H
):
NAME LINE TIME COMMENT
ubuntu pts/0 2024-05-05 10:00 (192.168.1.101)
admin pts/1 2024-05-05 10:15 (192.168.1.102)
who
コマンドは、サーバーにログインしているユーザーの基本情報を確認するのに最適です。
詳細情報を確認:wコマンド
より詳しい情報が欲しい場合は w
コマンドがおすすめです。
who
コマンドの情報に加えて、各ユーザーが実行しているコマンドやシステムの負荷状況まで確認できます。
w
出力例:
10:22:01 up 1 day, 2:34, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ubuntu pts/0 192.168.1.101 10:00 0.00s 0.02s 0.01s bash
admin pts/1 192.168.1.102 10:15 2:00 0.01s 0.00s top
john pts/2 10.0.0.5 11:20 5:00 0.54s 0.54s vim server.conf
出力の見方:
- 最初の行はシステム情報(起動時間、ユーザー数、ロードアベレージ)
- 以降の行は各ユーザーの詳細情報:
- USER: ユーザー名
- TTY: 端末名
- FROM: 接続元
- LOGIN@: ログイン時刻
- IDLE: アイドル時間(無操作時間)
- JCPU: このターミナルでの処理時間
- PCPU: 現在のプロセスの処理時間
- WHAT: 実行中のコマンド
便利なオプション:
w -h
: ヘッダー行を非表示w ユーザー名
: 特定ユーザーの情報のみ表示(例:w ubuntu
)w -s
: 短い形式で表示(JCPU, PCPUの列を省略)
このコマンドは、誰がシステムで何をしているかをより詳しく知りたい場合に非常に便利です。
特にサーバー管理やトラブルシューティングでよく使われます。
簡易一覧:usersコマンド

ログインユーザーのユーザー名だけを簡単に確認したいときは users
コマンドが便利です。
users
実行例:
ubuntu admin john
→ ログイン中のユーザー名だけがスペース区切りで並びます。
このコマンドは:
- 最も簡潔な出力
- スクリプトで利用しやすい形式
- シンプルな確認に最適
同じユーザーが複数回ログインしている場合、そのユーザー名は複数回表示されます:
ubuntu admin ubuntu john
この例では、ubuntuユーザーが2つのセッションでログインしていることがわかります。
その他の補足コマンド

id:自分のユーザーIDやグループ情報を確認
id
出力例:
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),27(sudo),46(plugdev)
このコマンドでは、現在のユーザーの詳細情報が確認できます:
- ユーザーID(uid)
- プライマリグループID(gid)
- 所属しているグループのリスト
特定のユーザーの情報も確認できます:
id admin
last:過去のログイン履歴を確認
last
出力例:
ubuntu pts/0 192.168.1.101 Sun May 5 10:00 still logged in
admin pts/1 192.168.1.102 Sun May 5 10:15 still logged in
john pts/2 10.0.0.5 Sun May 5 11:20 - 11:45 (00:25)
reboot system boot 5.10.0-26-amd64 Sun May 4 07:48 still running
ubuntu pts/0 192.168.1.101 Sat May 4 09:30 - 18:45 (09:15)
last
コマンドは、ログイン・ログアウトの履歴を時系列で表示します。「誰がいつログインしていたか」「ログアウトしたか」も確認できます。
便利なオプション:
last -10
: 最近の10件だけ表示last ユーザー名
: 特定ユーザーのログイン履歴のみ表示last reboot
: システム再起動の履歴を表示
lastlog:全ユーザーの最終ログイン時刻を確認
lastlog
出力例:
Username Port From Latest
root **Never logged in**
ubuntu pts/0 192.168.1.101 Sun May 5 10:00:20 +0000 2024
admin pts/1 192.168.1.102 Sun May 5 10:15:45 +0000 2024
john pts/2 10.0.0.5 Sun May 5 11:20:12 +0000 2024
mysql **Never logged in**
すべてのユーザーアカウント(システムアカウントも含む)の最終ログイン日時を表示します。
一度もログインしていないユーザーも確認できるため、セキュリティ監査に役立ちます。
まとめ
Linuxで使用中のユーザーを確認するには、状況や目的に応じてコマンドを使い分けるのがポイントです。
コマンド別の役割まとめ:
コマンド | 用途 | 特徴 |
---|---|---|
whoami | 今操作している自分のユーザー名を確認したい | 最もシンプル、自分のユーザー名のみ |
who | ログイン中の全ユーザーを見たい | ユーザー、端末、ログイン時間、接続元を表示 |
w | ユーザーの作業状況や接続元を詳しく見たい | 実行中のコマンドやアイドル時間も表示 |
users | ログイン中のユーザー一覧だけ手早く見たい | ユーザー名のみをスペース区切りで表示 |
last | 過去のログイン履歴を確認したい | 時系列でのログイン・ログアウト履歴 |
id | ユーザーのID・グループ情報を知りたい | UID、GID、所属グループを表示 |
lastlog | すべてのユーザーの最終ログイン時刻 | 未ログインユーザーも含めて表示 |
使い分けのポイント:
- 簡易確認:
whoami
(自分のみ)またはusers
(全ユーザー) - 基本的な監視:
who
- 詳細な状況把握:
w
- セキュリティ監査:
last
、lastlog
複数人で使うLinuxサーバーやリモート接続の多い環境では、こうしたコマンドを活用して、誰が・いつ・どこからアクセスしているかをすばやく把握できるようにしましょう。
システム管理者にとって、これらのコマンドは日常的なサーバー管理やトラブルシューティングに欠かせないツールです。
コメント