Как просмотреть вошедших в систему пользователей в Linux
Кратко
- В Linux несколько пользователей могут быть подключены одновременно; для их просмотра используются команды who, w, users и last.
- Эти команды читают системные файлы утоп/втмп и журналы; каждая даёт разный уровень деталей — от простого списка до активности и источника подключения.
Важно: команды показывают сессии, зарегистрированные в системе (utmp/wtmp). Если сессия не записана, она не появится в выводе.

Зачем это нужно
Проверка активных сессий помогает обнаружить несанкционированный доступ, контролировать нагрузку и управлять сессиями пользователей. Ниже — основные команды и советы по их применению.
1. Команда who
Команда who выводит базовую информацию о текущих подключениях. Вывод обычно содержит четыре столбца:
- имя пользователя
- TTY (терминал)
- время входа
- хост или IP-адрес (если доступно)
Примеры использования:
who
who -q # только список пользователей и их количество
who -a # все доступные поляwho читает файл utmp (обычно /var/run/utmp). Если сессия не записана в utmp, команда её не покажет.

2. Команда w
Команда w показывает, кто вошёл в систему и что делает каждый пользователь. Она полезна, когда нужно увидеть активность:
- текущее время
- время работы системы (uptime)
- число вошедших пользователей
- имя пользователя, хост и команда, которую он выполняет
Примеры:
w
w -h # без заголовка, только строки пользователей
w --helpw удобна для быстрой оценки нагрузки и поиска процессов, которые активно используют CPU/IO от имени пользователя.

3. Команда users
Команда users выводит только имена пользователей, вошедших в систему, в одну строку. Это самый простой способ быстро узнать, кто сейчас подключён.
users
man usersОна не показывает терминалы, время входа или хосты — только имена.

4. Команда last
Команда last читает историю входов из файла wtmp (обычно /var/log/wtmp) и показывает прошлые и текущие сессии. Это удобно для аудита и поиска исторических подключений.
last -a # включает хост в отдельном столбце
last -n 50 # последние 50 записей
# Опция -p позволяет фильтровать по времени (см. man last для синтаксиса)last покажет как реальные пользователи, так и системные записи (например, reboot). Для деталей времени и источника подключения используйте параметры и man last.


Альтернативные подходы и дополнительные источники
- Проверить журналы аутентификации: /var/log/auth.log, /var/log/secure (в зависимости от дистрибутива).
- Просмотреть активные сетевые соединения и связанные процессы: ss, netstat, lsof.
- Для SSH-сессий — логи демона sshd (обычно в /var/log).
- В контейнерах и при использовании нестандартных init-систем записи в utmp/wtmp могут отличаться.
Когда эти команды не показывают сессии (ограничения)
- Сессии, не записанные в utmp/wtmp (например, некоторые фоновые или внутриядровые процессы).
- Если у вас нет прав доступа к файлам журналов, вы не увидите старые записи wtmp.
- Виртуальные среды или контейнеры могут использовать собственные пространства имён и отдельные файлы utmp.
Ментальные модели
- utmp — текущее состояние (кто сейчас вошёл).
- wtmp — история входов/выходов.
- auth logs — попытки входа, успешные и неудачные, служит для расследований.
Быстрая шпаргалка (cheat sheet)
who # кто сейчас вошёл (детали по полям)
w # кто вошёл и что делает
users # только имена вошедших, в одну строку
last # история входов/выходов (wtmp)
ss -tnp # активные TCP-соединения с PID/процессом
cat /var/log/auth.log # детальная история аутентификацииРоль‑ориентированная чек‑планка для администратора
- Системный администратор: проверить w и who, затем last и auth.log для расследования.
- Инженер безопасности: сопоставить записи last с журналами sshd и IDS.
- Оператор: при необходимости завершить сессию (kill/skill) или временно заблокировать аккаунт.
Критерии приёмки
- Команды who/w/users возвращают ожидаемые записи для тестовых пользователей.
- История в last содержит записи за период, указанный в тестовом сценарии.
- При проверке логов аутентификации обнаруживаются соответствующие попытки входа.
Краткий глоссарий
- utmp: файл текущих сессий; показывает кто сейчас вошёл.
- wtmp: файл истории входов/выходов.
- auth.log / secure: журналы аутентификации, полезны для аудита.
Совместимость и подсказки по миграции
Разные дистрибутивы могут хранить журналы в разных местах (/var/log/auth.log vs /var/log/secure). В контейнерных средах проверьте, записываются ли сессии в ожидаемые файлы utmp/wtmp.
Итог
Команды who, w, users и last — быстрый и стандартный набор инструментов для просмотра активных и прошлых сессий в Linux. Используйте журналы аутентификации и инструменты сетевого мониторинга для углублённого расследования. Регулярные проверки помогут вовремя заметить и реагировать на подозрительную активность.
Примечание: Изображения в статье используются для иллюстрации вывода команд и общего контекста.
Image credit: Panda for helping little skaters to teach skate on ice by Yayimages
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента