Гид по технологиям

Как узнать, кто сейчас вошёл в Linux

5 min read Linux Обновлено 21 Dec 2025
Как узнать, кто сейчас вошёл в Linux
Как узнать, кто сейчас вошёл в Linux

человек использует ноутбук на деревянной подставке

Linux — многопользовательская система. Несколько пользователей могут одновременно входить и запускать программы. Иногда нужно быстро узнать, кто сейчас в системе: для устранения проблем с производительностью, мониторинга активности или просто из любопытства.

В этой статье перечислены команды и приёмы, которые помогут получить эту информацию и понять, что именно делают пользователи.

Ключевые варианты использования

  • Быстрый список имён: users
  • Детали сессий (терминал, время, хост): who
  • Активность и процессы: w
  • История входов/выходов: last
  • Расширенная информация о пользователе: finger
  • Процессы пользователя в реальном времени: top -u

1. Команда users

Команда users выводит список всех текущих вошедших пользователей в алфавитном порядке. Если у пользователя несколько сессий, имя повторяется.

Пример использования:

users

Примечание: users удобна для быстрого просмотра, но не показывает терминалы, время входа или откуда подключён пользователь.

вывод команды users с тремя пользователями

2. Команда who — кто подключён и откуда

who показывает список вошедших пользователей и дополнительную информацию: терминал (TTY), дату и время входа, а также IP-адрес или имя хоста при удалённых сессиях.

Базовый вызов:

who

Полезные флаги:

who -a -H
  • -a — показывает все доступные записи (включая idle, PID и др.).
  • -H — включает заголовок в выводе.

команда who с подробным выводом

подробный вывод who с PID и временем простоя

Совет: who читает файл /var/run/utmp (или /run/utmp). Если этот файл повреждён, who может не показывать актуальные данные.

3. Команда w — кто и что делает

w показывает вошедших пользователей и их активность. Заголовок содержит текущее время, время работы системы, число вошедших пользователей и load average.

Вывод для каждого пользователя включает: имя, tty, время входа, время простоя (idle), JCPU (время всех процессов на tty), PCPU (время текущего процесса) и текущий процесс.

Вызов:

w

Применяйте w, чтобы быстро увидеть, кто активно использует систему и какие комманды выполняет.

пример вывода команды w с активностью пользователей

4. Команда last — история входов и текущие сессии

last читает файл /var/log/wtmp и показывает историю вошедших и вышедших пользователей, а также перезагрузки системы.

Чтобы отобразить только текущие сессии (по состоянию на сейчас):

last -p now

last полезен, когда нужно выяснить, когда пользователь входил ранее, или отследить перезагрузки и аварийные завершения.

вывод last с историей сессий

5. Команда finger — подробности о пользователе

finger выводит расширенную информацию о вошедших пользователях: логин, tty, время входа и IP/хост. Finger обычно не предустановлен; установите через пакетный менеджер.

Debian/Ubuntu:

sudo apt-get install finger

RHEL/CentOS:

sudo yum install finger

Запуск без аргументов показывает всех вошедших пользователей:

finger

Для подробной информации о конкретном пользователе передайте имя:

finger username

вывод finger со списком пользователей

finger: подробная информация о конкретном пользователе

Важно: finger может раскрывать информацию (GECOS), поэтому на серверах с высокими требованиями к безопасности его часто не устанавливают.

6. Команда top — процессы пользователя в реальном времени

top показывает сводную информацию о системе и активные процессы. Чтобы отобразить процессы конкретного пользователя:

top -u username

top полезен, когда вы видите пользователя в who/w и хотите понять, какие процессы он запустил и сколько ресурсов они потребляют.

top: процессы пользователя в реальном времени

Когда команды дают неверные или неполные данные

  • Повреждённые /var/run/utmp или /var/log/wtmp приведут к неполному выводу who и last.
  • GUI сессии (например, Display Manager) могут не отображаться в тех же утилитах как ожидается. Для GUI-сессий смотрите systemd-logind или менеджер дисплея (gdm/lightdm).
  • SSH-сессии отображаются с хоста/IP, но NAT/бастион могут скрыть реальный источник.
  • Неполадки с правами доступа: journalctl и некоторые файлы логов требуют root.

Альтернативы и дополнительные источники информации

  • journalctl -u sshd — логи входов по SSH.
  • ss -tnpa | grep sshd — текущие SSH-соединения.
  • lastlog — показывает последнее время входа для каждого пользователя.
  • systemctl status getty@tty1 — проверка локальных виртуальных терминалов.

Краткая шпаргалка (cheat sheet)

  • users — короткий список имён
  • who — терминалы, время, хосты
  • w — активность и процессы
  • last — история входов/выходов
  • finger — детальная информация о пользователе
  • top -u username — процессы пользователя
  • journalctl -u sshd — логи SSH

Ролевые чеклисты

Для системного администратора:

  • Проверьте who и w для реального времени.
  • Просмотрите last для истории и аномалий.
  • Используйте journalctl и /var/log/auth.log для расследования входов.
  • Проанализируйте процессы через top/ps и измерьте нагрузку.

Для обычного пользователя:

  • Используйте users или who, чтобы увидеть, кто ещё вошёл.
  • Если замечена чужая сессия — свяжитесь с админом.

Наблюдательные модели и эвристики

  • Если load average вырос и w показывает активного пользователя с интенсивным процессом — вероятно, именно он нагрузил систему.
  • Повторяющиеся однотипные входы с разных IP могут указывать на автоматизированные подключения.
  • Если who не показывает никого, а load большой — проверьте фоновые демоны и планировщик задач.

Главные ограничения и безопасность

  • Многие утилиты читают системные файлы (utmp/wtmp) и логи. Их целостность влияет на корректность вывода.
  • Finger раскрывает дополнительные данные о пользователях; на проде его обычно не устанавливают.
  • Доступ к журналам и некоторым утилитам требует привилегий root.

Важно: всегда соблюдайте политики компании и законы о приватности при мониторинге активности пользователей.

Мердмайд: простое решение-дерево выбора команды

flowchart TD
  A[Нужно быстро — кто вошёл?] -->|коротко| B[users]
  A -->|детали сессии| C[who]
  A -->|что делает пользователь| D[w]
  A -->|история входов| E[last]
  A -->|детали профиля| F[finger]
  A -->|процессы пользователя| G[top -u]

Критерии приёмки

  • Вы можете назвать всех текущих вошедших пользователей (users/w/who).
  • Вы можете показать, с какого хоста подключён удалённый пользователь (who/last).
  • Вы можете отобразить процессы выбранного пользователя (top -u или ps -u).

1-строчный глоссарий

  • TTY — терминал, устройство ввода/вывода сессии.
  • utmp/wtmp — системные файлы для текущих и исторических сессий.
  • JCPU/PCPU — суммарное/текущее процессорное время в выводе w.

Заключение

Эти команды покрывают большинство задач по обнаружению и анализу вошедших пользователей в Linux. Начните с простого — users или who — и углубляйтесь с помощью w, last, finger и top, когда нужны детали. Для расследований используйте логи (journalctl, /var/log/auth.log) и следите за целостностью системных файлов.

Important: при работе с пользовательскими данными соблюдайте требования приватности и внутренние политики безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Мониторинг состояния системы на Python
Мониторинг.

Мониторинг состояния системы на Python

Отключить рекламу в Windows 11
Советы

Отключить рекламу в Windows 11

Как собрать кастомный Mac на сайте Apple
Mac

Как собрать кастомный Mac на сайте Apple

Как использовать профили в Firefox
Браузеры

Как использовать профили в Firefox

Стриминг Xbox на Android через Remote Play
Гайды

Стриминг Xbox на Android через Remote Play

Личный бренд в интернете: шаг за шагом
Карьера

Личный бренд в интернете: шаг за шагом