Lから始まるLinux

6章8話
ログ
6章9話 バイナリログ
もくじ
6章10話
/runディレクトリ
バイナリログ
若木 みどり
お兄ちゃん! less でログを開いたら 「バイナリだけど開いていい?」 って確認されたんだ! バイナリは人間でなく コンピュータが読むためのものだよね? このログは何のためのものなのかな?
若木 しげる
いくつかのログは バイナリで出力されているんだ これらは専用コマンドから確認するよ 今回はバイナリログの 扱いについて学んでいこう!
last コマンド
若木 しげる
last ログイン履歴を表示するよ ログファイルは /var/log/lastw なんだ
last [オプション]... [ユーザ名]... [端末名]...
若木 しげる
そのまま last実行してみよう!
last
若木 みどり
実行するね!
midori   pts/1        192.168.0.201    Fri Dec 27 12:32   still logged in
shigeru  pts/0        192.168.0.200    Fri Dec 27 12:24   still logged in
...
若木 みどり
ログイン履歴が全部見れるんだ!ちょっと出力が長いね!
若木 しげる
そうだねless見るのもいいよ
last | less
若木 みどり
最新のログは末尾ではなく先頭なんだね!head も良さそう!
last | head
lastlog コマンド
若木 しげる
lastlogユーザの最終ログイン日時を表示するよログファイルは /var/log/lastlog なんだ
lastlog [オプション]...
若木 しげる
これもオプションなしで実行してみよう!
lastlog
若木 みどり
うん!
Username         Port     From                                       Latest
root                                                                **Never logged in**
...
shigeru          pts/0    192.168.0.200                             Fri Dec 27 12:24:54 +0900 2024
midori           pts/1    192.168.0.201                             Fri Dec 27 12:32:23 +0900 2024
若木 みどり
ユーザの数だけしか行数がないから短くて見やすいね!
若木 しげる
最終ログイン時刻やログインの有無を確認するのに便利だよ
若木 みどり
su とか sudo を使ったけどroot ユーザは「ログインしていない(Never logged in)」なんだね?
若木 しげる
「ユーザ切り替え」「ログイン」でないからねこれらの操作はlastlog には記録されないんだ
lastb コマンド
若木 しげる
lastbログイン失敗記録を表示するよログファイルは /var/log/lastb なんだ
lastb [オプション]... [ユーザ名]... [端末名]...
若木 しげる
セキュリティに関する内容なのでスーパユーザのみ閲覧できるんだsudo と一緒に実行しよう!
sudo lastb
若木 みどり
これも実行するよ!
jxt      ssh:notty    144.144.144.144  Sun Dec  1 00:01 - 00:01  (00:00)
freddy   ssh:notty    88.88.88.88      Sun Dec  1 00:00 - 00:00  (00:00)
...
若木 みどり
わぁ!すごいたくさん失敗しているね!
若木 しげる
外部からのリモート接続を許可している場合は多くの試行の失敗が記録されるよこういう場合は「公開鍵認証」など安全な認証のみ許すようにして不正アクセスの対策をしよう
dmesg コマンド
若木 しげる
dmesgカーネルのログを閲覧するよログはカーネルが保持しているんだ
dmesg [オプション]...
若木 しげる
これもオプションなしで実行してみよう
dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x414fd0b1]
[    0.000000] Linux version 6.6.51+rpt-rpi-2712 (serge@raspberrypi.com) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08)
[    0.000000] KASLR enabled
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 5 Model B Rev 1.0
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x0000000002000000, size 64 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] OF: reserved mem: 0x0000000002000000..0x0000000005ffffff (65536 KiB) map reusable linux,cma
[    0.000000] OF: reserved mem: 0x0000000000000000..0x000000000007ffff (512 KiB) nomap non-reusable atf@0
...
若木 みどり
起動直後のメッセージが大半だね!
若木 しげる
そうだね「起動時に特定の機能が有効になったか」など起動直後の動きの確認などに使われるよ
まとめ
若木 みどり
今回はバイナリ形式のログを閲覧するコマンドを学んだよ!last, lastlog, lastb, dmesgなどがあるんだ!
コマンドログファイル内容
last/var/log/lastwログイン履歴
lastb/var/log/lastbログイン失敗履歴
lastlog/var/log/lastlog最終ログイン日時
dmesg(カーネルが保持)カーネル動作
若木 しげる
バイナリ形式のログにも重要な情報が載っているんだテキストとバイナリの両方のログを確認できるようにしておこう!