目次
概要
Linux システムで現在ログインしているユーザーやログイン履歴を確認することは、システム管理やセキュリティの観点から非常に重要です。 この記事では、これらのユーザーのログイン情報を取得するための方法について説明します。
コマンド一覧
ログイン情報に関連するコマンドを整理しました。
コマンド | 説明 | 参照するファイル |
---|---|---|
who |
現在ログインしているユーザーの情報を表示します。 | /var/run/utmp |
w |
現在ログインしているユーザーの詳細情報を表示します。 | /var/run/utmp |
last |
システムの再起動やユーザーのログイン・ログアウトの履歴を表示します。 | /var/log/wtmp |
lastlog |
各ユーザーの最終ログイン日時と情報を表示します。 | /var/log/lastlog |
lastb |
失敗したログイン試行の履歴を表示します。 | /var/log/btmp |
現在ログインしているユーザーを確認する
who
コマンド
who
コマンドを使用すると、現在ログインしているすべてのユーザーの情報を表示することができます。
$ who
nekobean tty7 2025-01-28 16:45
john pts/0 2025-01-28 17:00 (192.168.1.10)
各カラムの意味は次のようになります:
- ユーザー名: ログインしているユーザーの名前。
- 端末: ユーザーがログインしている端末名。
- ログイン日時: ユーザーがログインした日時。
- リモートホスト: ユーザーがリモートからログインしている場合、そのホストの IP アドレス。
w
コマンド
w
コマンドは、現在ログインしているユーザーとその活動状況を詳細に表示します。
$ w
17:06:29 up 2:15, 2 users, load average: 0.08, 0.02, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
nekobean tty7 :0 16:45 2:15m 1:23 0.17s /usr/bin/gnome-shell
john pts/0 192.168.1.10 17:00 6.00s 0.05s 0.00s /bin/bash
各カラムの意味は次のようになります:
- USER: 現在ログインしているユーザーの名前。
- TTY: ユーザーがログインしている端末名。
- FROM: ユーザーがリモートからログインしている場合、そのホストの IP アドレス。
- LOGIN@: ユーザーがログインした日時。
- IDLE: ユーザーの端末がアイドル状態(操作されていない状態)である時間。
- JCPU: 端末上で実行されたジョブ(ユーザーのプロセス)に費やされた累積 CPU 時間。
- PCPU: 現在実行中のプロセスに費やされている CPU 時間。
- WHAT: ユーザーが現在実行しているコマンド。
ログイン・認証に関するログ
ログの場所
ログインおよび認証に関するログは以下のパスに格納されています。 これらはバイナリ形式のため、専用のコマンドで確認します。
ファイルパス | 説明 | 形式 | コマンド |
---|---|---|---|
/var/log/wtmp |
ユーザーのログイン・ログアウトに関するログ | バイナリ | last |
/var/log/btmp |
失敗したログイン試行に関するログ | バイナリ | lastb |
/var/log/lastlog |
各ユーザーの最後のログインに関するログ | バイナリ | lastlog |
/var/log/faillog |
各ユーザーのログイン失敗回数に関するログ | バイナリ | |
/var/log/auth.log |
ユーザー認証に関するログ | テキスト |
/var/log/auth.log
: 認証に関するログ
/var/log/auth.log
は、Linux システムにおける認証関連のログを保持するファイルです。このファイルには、ログイン試行、認証の成功および失敗、sudo コマンドの使用などの情報が記録されています。以下に /var/log/auth.log
の読み方について説明します。
以下に、/var/log/auth.log
の例を示します:
Jan 29 19:30:01 ubuntu-PC CRON[257637]: pam_unix(cron:session): session closed for user root
- 日時
- ホスト名:
- プロセス名[PID]: プロセス名と PID
- メッセージ
last
コマンド: ログイン履歴を確認する
last
コマンドの出力は、システムのログイン・ログアウト履歴を表示します。
ログイン履歴は、/var/log/wtmp
にバイナリ形式で格納されています。
以下に、last
コマンドの出力例を示します:
username tty1 :0 Mon Jan 29 10:00 still logged in
username pts/0 192.168.1.10 Mon Jan 29 09:50 - 10:00 (00:10)
username pts/1 192.168.1.10 Mon Jan 29 09:40 - 09:50 (00:10)
reboot system boot 5.4.0-65-generic Mon Jan 29 09:30 - 18:49 (09:19)
- ログインしたユーザー
- ログインに使用したターミナルデバイス
- ホスト名
- ログイン日時
- ログアウト日時
- ログインセッション時間
lastlog
コマンド: 各ユーザーの最後のログインに関するログ
lastlog
コマンドは、各ユーザーの最後のログイン日時を表示します。
以下に、lastlog
コマンドの出力例を示します:
Username Port From Latest
root tty1 :0 Mon Jan 29 10:00:00 +0000 2025
username pts/0 192.168.1.10 Sun Jan 28 15:30:00 +0000 2025
- ユーザー名
- ログインに使用したターミナルデバイス
- ホスト名
- ユーザーが最後にログインした日時
lastb
コマンド: 失敗したログイン試行に関するログ
lastb
コマンドは、失敗したログイン試行の履歴を表示します。
以下に、lastb
コマンドの出力例を示します:
username tty1 :0 Mon Jan 29 10:00 - 10:05 (00:05)
username tty1 :0 Sun Jan 28 15:30 - 15:32 (00:02)
unknown tty2 192.168.1.15 Sun Jan 28 14:50 - 14:51 (00:01)
- ログイン試行したユーザー
- ログイン試行したターミナルデバイス
- ホスト名
- ログイン試行日時
- ログアウト試行日時
- ログアウト試行が行われたセッション時間
コメント