Введение
В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, какие пользователи в данный момент вошли в систему Linux. Вы изучите основные команды, такие как who для вывода списка вошедших пользователей и w для получения более подробной информации о их сеансах и активности.
К концу этого практического занятия вы сможете быстро определить активных пользователей в системе Linux и понять основную информацию о их сеансах входа, включая то, как просматривать записи о входах в /var/run/utmp.
Вывести список вошедших пользователей с помощью команды who
На этом этапе вы узнаете, как вывести список пользователей, в данный момент вошедших в систему, с использованием команды who. Это фундаментальная команда, полезная как системным администраторам, так и обычным пользователям для определения активных пользователей в системе.
Команда who отображает информацию о пользователях, которые в данный момент вошли в систему. Эта информация обычно включает имя пользователя, используемую им терминал (терминальную линию), время входа и удаленный хост, с которого был выполнен вход (если это применимо).
Давайте попробуем это. Если терминал еще не открыт, откройте его. Вы можете найти значок Xfce Terminal слева на рабочем столе.
Введите следующую команду и нажмите Enter:
who
Вы должны увидеть вывод, похожий на следующий:
labex :0 <timestamp> (:0)
Разберем вывод по частям:
labex: Это имя пользователя, вошедшего в систему. В среде LabEx пользователем по умолчанию являетсяlabex.:0: Это указывает на используемую терминал (терминальную линию) или дисплей.:0обычно относится к основному графическому дисплею.<timestamp>: Здесь показаны дата и время входа пользователя. Точный формат и содержание временной метки могут немного отличаться.(:0): Часто это предоставляет дополнительную информацию о сеансе входа, в данном случае подтверждая используемый дисплей.
Команда who проста, но мощна для быстрой проверки, кто использует систему. Это хороший первый шаг для понимания активности пользователей.
Помните, практика - ключ к успеху! Попробуйте выполнить команду несколько раз, чтобы привыкнуть к ней.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка сеансов пользователей с помощью команды w
На этом этапе вы познакомитесь с командой w, которая предоставляет более подробную информацию о пользователях, вошедших в систему в данный момент, и том, что они делают. В то время как команда who дает вам быстрый список пользователей, команда w предоставляет снимок текущей активности системы, связанной с сеансами пользователей.
Команда w показывает, кто вошел в систему и что они делают. Это удобный инструмент для мониторинга использования системы и определения активных процессов, связанных с каждым пользователем.
Давайте запустим команду w в вашем терминале. Если вы его закрыли, откройте Xfce Terminal снова.
Введите следующую команду и нажмите Enter:
w
Вы должны увидеть вывод, похожий на следующий:
<timestamp> up <uptime>, <users> users, load average: <load_avg>
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
labex :0 :0 <login_time> <idle_time> <jcpu_time> <pcpu_time> w
Разберем разные части вывода:
- Первая строка представляет собой сводку:
<timestamp>: Текущее время.up <uptime>: Сколько времени система работает с момента последней загрузки.<users> users: Количество пользователей, вошедших в систему в данный момент.load average: <load_avg>: Средняя загрузка системы за последние 1, 5 и 15 минут. Это показывает среднее количество процессов, ожидающих выполнения.
- Строка заголовка (
USER,TTY,FROM,LOGIN@,IDLE,JCPU,PCPU,WHAT) описывает столбцы, которые следуют для каждого вошедшего пользователя. USER: Имя пользователя.TTY: Терминал (терминальная линия), которую использует пользователь.FROM: Удаленный хост, с которого пользователь выполнил вход (если это применимо). Для локального графического сеанса, как в этом случае, часто показывается:0.LOGIN@: Время входа пользователя в систему.IDLE: Время простоя терминала.JCPU: Время, использованное всеми процессами, связанными с терминалом.PCPU: Время, использованное текущим процессом.WHAT: Командная строка текущего процесса пользователя. В данном случае показаноw, так как это та команда, которую вы только что запустили.
Команда w дает более динамическое представление по сравнению с командой who, показывая не только, кто вошел в систему, но и то, что они активно делают.
Попробуйте поработать с командой w. Вы обнаружите, что она полезна для быстрой оценки активности системы.
Нажмите Продолжить, чтобы перейти к следующему шагу.
Проверка записей о входах в /var/run/utmp
На этом этапе вы узнаете о файле /var/run/utmp и о том, как команды типа who и w получают из него информацию. Этот файл является важной частью механизма отслеживания в Linux пользователей, вошедших в систему.
Файл /var/run/utmp представляет собой бинарный файл, содержащий информацию о пользователях, в данный момент вошедших в систему. Он постоянно обновляется при входе и выходе пользователей. Команды, такие как who, w и users, читают этот файл для отображения текущей информации о входах.
Поскольку /var/run/utmp - это бинарный файл, вы не можете просто просмотреть его содержимое с помощью команд, такими как cat или less, как вы бы делали с текстовым файлом. В этом случае вы увидите непонятные символы.
Давайте попробуем просмотреть его с помощью команды cat, чтобы увидеть, что произойдет (и понять, почему мы так делать не должны):
cat /var/run/utmp
Вы увидите множество нечитаемых символов, что ожидаемо для бинарного файла.
<binary_output>
Для чтения содержимого файла /var/run/utmp в человекочитаемом формате обычно используются специально разработанные для разбора этого файла команды, такие как who или w, которые вы использовали на предыдущих этапах.
Еще одна команда, которая специально читает и отображает содержимое файла /var/run/utmp, - это utmpdump. Эта команда полезна для отладки или изучения исходных данных в файле.
Давайте используем команду utmpdump для просмотра содержимого файла /var/run/utmp.
utmpdump /var/run/utmp
Вы должны увидеть структурированный и читаемый вывод, показывающий записи для каждого сеанса входа. Точный вывод будет зависеть от текущего состояния системы, но он будет выглядеть приблизительно так:
Utmp dump of /var/run/utmp
[<type>] [<pid>] [<line>] [<id>] [<user>] [<host>] [<exit>] [<session>] [<tv_sec>] [<tv_usec>] [<addr_v6>]
...
[7] [ <pid> ] [ :0 ] [ :0 ] [ labex ] [ :0 ] [ 0, 0 ] [ <session_id> ] [ <timestamp> ] [ <usec> ] [ <ipv6_address> ]
...
Вывод показывает различные поля для каждой записи в файле utmp, включая тип записи (например, вход пользователя), идентификатор процесса, терминал, имя пользователя, хост, время входа и многое другое.
Понимание файла /var/run/utmp помогает вам понять, как Linux отслеживает сеансы пользователей и как работают команды типа who и w "под капотом".
Нажмите Продолжить, чтобы завершить этот практический урок.
Резюме
В этом практическом уроке вы научились проверять, какие пользователи в данный момент вошли в систему Linux. Вы начали с использования команды who, которая предоставляет базовый список вошедших пользователей, их терминалы, время входа и источник входа. Эта команда является основным инструментом для быстрого определения активных пользователей.
После изучения команды who вы познакомились с командой w. Хотя полные детали о команде w не были представлены в данном отрывке, она представлена как инструмент, который предоставляет более подробную информацию о вошедших пользователях и их текущей активности, выходя за рамки простого списка, предоставляемого командой who.



