whoコマンドでログイン中のユーザーを確認する方法|w・lastとの使い分けもコマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドU-Z, ユーザ・グループ管理コマンド > whoコマンドでログイン中のユーザーを確認する方法|w・lastとの使い分けもコマンド
「このサーバーに今誰がログインしているか確認したい」
「シャットダウン前に他のユーザーが作業中でないか調べたい」
Linuxサーバーを運用していると、現在のログイン状況をすばやく把握したい場面は多くあります。そのときに使うのが who コマンドです。

この記事では、who コマンド の実践的な使い方を解説します。
基本的なログインユーザー確認から、who am iwlast との使い分け、シャットダウン前の安全確認手順、不審なログイン検出まで網羅しました。
【この記事でわかること】
・who コマンドはログイン中のユーザー一覧(ユーザー名・端末・ログイン時刻・リモートIPなど)を表示する
・who am i で自分自身のセッション情報(端末・ログイン時刻・接続元)を確認できる
・シャットダウン前のユーザー確認や不審なログイン検出に活用する
・より詳細な情報(CPU使用率・実行中コマンド)が必要なら w コマンドを使う
・ログイン履歴を遡って確認するには last コマンドを使う

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

whoコマンドとは?仕組みと出力の読み方

who コマンドは /var/run/utmp(または /var/run/utmpx)ファイルを参照して、現在ログイン中のユーザー情報を表示します。このファイルはカーネルがログイン・ログアウト時に自動更新するため、who の出力は常にリアルタイムの状態を反映しています。

出力の各フィールドの意味は以下のとおりです。

ユーザー名:ログインしているユーザーの名前
端末(tty/pts):使用している端末。pts はSSH等の仮想端末、tty はローカル端末
ログイン時刻:そのセッションのログイン日時
リモートホスト名またはIP:末尾の括弧内。ローカルログインの場合は表示されない

基本的な使い方

1. ログイン中のユーザー一覧を表示する

引数なしで実行すると、現在ログインしているすべてのユーザー情報が表示されます。

# ログイン中のユーザー一覧を表示する $ who root pts/1 Apr 7 09:00 pakira pts/3 Apr 7 14:30 (192.168.2.100) tomohiro pts/6 Apr 7 17:50 (192.168.2.102)

2. 自分自身の情報だけを表示する(who am i)

su コマンドでユーザーを切り替えた後など、「今のセッションが何のユーザーか」を確認したい場合は who am i が便利です。

# 自分自身のログイン情報だけを表示する $ who am i pakira pts/5 Apr 7 15:37 (192.168.2.100)

whoami コマンドはユーザー名だけを返しますが、who am i はセッション情報(端末・ログイン時刻・接続元)も合わせて表示します。

3. 起動時刻とランレベルを確認する(-b / -r)

-b でシステムの最終ブート時刻、-r で現在のランレベルを確認できます。

# 最後に起動した日時を確認する $ who -b system boot Apr 7 05:00 # 現在のランレベルを確認する $ who -r run-level 3 Apr 7 05:00

応用・実務Tips

wコマンドとの使い分け

w コマンドは who より詳細な情報を表示します。CPU使用率や実行中のコマンドも確認できるため、サーバーの負荷状況も同時に把握したい場合に便利です。

$ w 17:55:00 up 12:55, 3 users, load average: 0.01, 0.05, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/1 192.168.1.1 09:00 8:55 0.02s 0.01s -bash pakira pts/3 192.168.2.100 14:30 2:00 0.05s 0.00s vim config.txt tomohiro pts/6 192.168.2.102 17:50 0.00s 0.01s 0.00s w

lastコマンドでログイン履歴を遡る

last コマンドは /var/log/wtmp を参照し、過去のログイン・ログアウト履歴を表示します。不審なアクセスがなかったか確認するセキュリティ監査にも使われます。

# 最近のログイン履歴を表示する $ last | head -10 tomohiro pts/6 192.168.2.102 Tue Apr 7 17:50 still logged in pakira pts/3 192.168.2.100 Tue Apr 7 14:30 still logged in root pts/1 192.168.1.1 Tue Apr 7 09:00 still logged in # 特定ユーザーのログイン履歴だけを確認する $ last pakira

シャットダウン前のユーザー通知

サーバーを再起動・シャットダウンする前に、他のユーザーが作業中でないかを確認します。ユーザーがいる場合は wall コマンドで全員に事前通知するのがマナーです。

# シャットダウン前にログインユーザーを確認する $ who # ユーザーがいる場合は全員に通知する $ sudo wall "5分後にサーバーを再起動します。作業を保存してください。"

トラブルシュート・エラー対処

whoコマンドで何も表示されない

who を実行しても何も出力されない場合は、/var/run/utmp ファイルが破損または削除されている可能性があります。

# utmpファイルの存在を確認する $ ls -la /var/run/utmp # ファイルが存在しない場合は再作成する(再起動が最も確実) $ sudo touch /var/run/utmp $ sudo chmod 664 /var/run/utmp

知らないIPアドレスからのログインを検出したとき

who の出力に見覚えのないIPアドレスが表示されている場合は、不正アクセスの可能性があります。

# 不審なログインを確認する $ who tomohiro pts/3 Apr 7 14:00 (203.0.113.100) # 見覚えのないIPアドレス # 詳細な履歴を確認する $ last | head -20 # 不審なセッションを強制切断する(root権限が必要) # pkill -KILL -t pts/3

本記事のまとめ

やりたいこと コマンド
ログイン中のユーザー一覧を確認する who
自分自身のセッション情報を確認する who am i
現在のユーザー名だけを確認する whoami
CPU使用率・実行コマンドも合わせて確認する w
ログイン履歴を遡って確認する last
システムの最終ブート時刻を確認する who -b

サーバーのログイン状況をすばやく把握して、不審なアクセスを見逃していませんか?

コマンドの使い方を一つひとつ覚えていくのは時間がかかります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。