Если выполнить эту команду для себя, то может вывалиться такой список, что читать его будет невозможно, потому что вы достаточно часто работаете в системе. Чтобы ограничить выводимые данные, можно указать ключ
– n
и количество отображаемых строк. Например, следующая команда выдаст информацию о последних пяти входах:
last -n 5 robert
lastlog
Если выполнить команду
lastlog
, то она выведет на экран перечень всех пользователей
с датами их последнего подключения к системе. Пример списка можно увидеть в листинге 12.1.
Листинг 12.1. Результат выполнения команды
lastlog
Username Port From Latest
root ftpd2022 192.168.77.10 Mon Feb 21 12:05:06 +0300 2005
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**
halt **Never logged in**
mail **Never logged in**
news **Never logged in**
uucp **Never logged in**
operator **Never logged in**
games **Never logged in**
gopher **Never logged in**
ftp **Never logged in**
nobody **Never logged in**
vcsa **Never logged in**
mailnull **Never logged in**
rpm **Never logged in**
xfs **Never logged in**
apache **Never logged in**
ntp **Never logged in**
rpc **Never logged in**
gdm **Never logged in**
rpcuser **Never logged in**
nscd **Never logged in**
ident **Never logged in**
radvd **Never logged in**
squid **Never logged in**
mysql **Never logged in**
flenov ftpd2022 192.168.77.10 Mon Feb 21 12:05:06 +0300 2005
named **Never logged in**
robert tty1 Mon Feb 21 12:10:47 +0300 2005
Список состоит из четырех колонок:
□ имя пользователя из файла /etc/passwd;
□ порт или терминал, на который происходило подключение;
□ адрес компьютера, если вход был по сети;
□ время
входа.
С помощью
lastlog
удобно контролировать системные записи. У них дата последнего входа должна быть
**Never logged in**
, потому что под ними нельзя войти в систему (в качестве командной оболочки установлены /bin/false, /dev/null, /sbin/nologin и др.). Если вы заметили, что кто-либо проник в систему через одну из этих учетных записей, то это значит, что хакер использует ее, изменив настройки.
Простая замена командной оболочки в файле /etc/passwd может открыть хакеру потайную дверь, и администратор не заметит этой трансформации. Но после выполнения команды
lastlog
все неявное становится явным.
Обращайте внимание на тип подключения и адрес. Если что-то вызывает подозрение, то можно выявить атаку на этапе ее созревания.
lsof
С помощью этой команды можно определить, какие файлы и какими пользователями открыты в данный момент. Результат выполнения директивы приведен в листинге 12.2.
Листинг 12.2. Результат выполнения команды
lsof
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 3,2 4096 2 /
init 1 root rtd DIR 3,2 4096 2 /
init 1 root txt REG 3,2 26920 635256 /sbin/init
init 1 root mem REG 3,2 89547 553656 /lib/ld-2.2.5.so
init 1 root 10u FIFO 3,2 195499 /dev/initctl
keventd 2 root cwd DIR 3,2 4096 2 /
keventd 2 root rtd DIR 3,2 4096 2 /
kapmd 3 root 10u FIFO 3,2 195499 /dev/initctl
Это далеко не полный результат. Даже если в данный момент вы один работаете с системой, количество открытых файлов может исчисляться парой десятков, и число их заметно растет, если в системе несколько пользователей, ведь один файл может открываться несколько раз каждым из них. Это касается в основном системных конфигурационных файлов.
12.5.2. Системные текстовые журналы
Представленные в этом разделе журналы — это текстовые файлы. Их можно без проблем просматривать такими командами, как
cat
, или любыми текстовыми редакторами.
В файле /var/log/messages находится основная информация о заходах пользователей, о неверных авторизациях, остановках и запусках сервисов и многое другое. В один документ все подобные события поместиться не могут, иначе он будет нечитаемым, поэтому в папке /var/log/ могут находиться файлы с именами messages.X, где X — это число.