В CentOS протоколи активності користувачів зберігаються у таких файлах:
- /var/run/utmp – протоколює сесії, відкриті в даний момент (використовується командами who і w)
- /var/log/wtmp – зберігає історію входів у систему (використовується командою last)
- /var/log/btmp – протоколює невдалі спроби входу (використовується командою lastb)
- /var/log/lastlog – використовується командою lastlog
Ці файли зберігаються не в текстовому, а в двійковому форматі. Тип файла у Linux, до речі, можна подивитися командою file
# file /var/run/utmp
/var/run/utmp: data
# file /var/log/wtmp
/var/log/wtmp: dBase III DBT, version number 0, next free block index 7
# file /var/log/btmp
/var/log/btmp: dBase III DBT, version number 0, next free block index 7
# file /var/log/lastlog
/var/log/lastlog: data
Тому переглядати зазначені напряму – неефективно. Для перегляду існують спеціальні команди:
who – виводить дані про користувачів, які зараз працюють в системі
[james@localhost ~] $ who
james :0 2015-11-12 19:16 (:0)
james pts/0 2015-11-12 23:10 (:0)
w – показує більше інформації, ніж who – не тільки, хто працює, але й що він робить
[james@localhost ~] $ w
00:02:32 up 5:14, 2 users, load average: 0.03, 0.13, 0.13
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
james :0 19:16 ?xdm? 30:16 0.15s gdm-session-worker [pam/gdm-password]
james pts/0 23:10 0.00s 0.05s 0.00s w
last – з параметром username виводить час останніх реєстрацій користувача у системі; без параметра – показує реєстрації всіх користувачів
$ last | head -4
shs pts/6 204.111.97.61 Sun Apr 26 12:38 still logged in
madman1 pts/3 wrong.ip.net Sun Apr 26 12:00 still logged in
madman1 pts/10 wrong.ip.net Sat Apr 25 16:13 - 22:12 (05:58)
shs pts/7 204.111.97.61 Sat Apr 25 15:35 - 16:27 (00:52)
подивитися, хто коли входив останнього разу, зручніше командою lastlog
$ lastlog | more
Username Port From Latest
root pts/0 boson.parts.org Tue Jul 22 21:56:07 -0400 2014
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
shs pts/6 204.123.45.67 Sun Apr 26 12:38:53 -0400 2015
mia pts/1 10.11.12.123 Mon Dec 17 11:15:07 -0500 2012
......................................................................
lastb – показує невдалі спроби входу
# lastb
james :0 :0 Wed Nov 11 19:47 - 19:47 (00:00)
tony :0 :0 Wed Nov 11 19:12 - 19:12 (00:00)
tony :1 :1 Sun Nov 8 22:57 - 22:57 (00:00)
замість команд who, w, last, lastb можна використовувати одну команду utmpdump
# utmpdump /var/run/utmp
# utmpdump /var/log/wtmp
# utmpdump /var/log/btmp
За допомогою фільтрів можна навіть експортувати журнали у формат .csv
# utmpdump /var/log/wtmp | grep -E "\[7].*gacanepa" | awk -v OFS="," 'BEGIN {FS="] "}; {print $2,$4,$7,$8}' | sed -e 's/\[//g' -e 's/\]//g'
Credits: