Как узнать, какие пользователи или процессы активны на сервере помимо вас?

«Как узнать, какие пользователи или процессы активны на сервере помимо вас?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Чтобы получить полную картину активности на сервере, проверяют несколько слоёв информации.

1. Активные пользовательские сессии:

who        # Список пользователей, вошедших в систему
w          # Более подробная информация (что запущено, uptime)
last       # История входов (из /var/log/wtmp)

2. Сетевые соединения и процессы:

# Показать все слушающие (LISTEN) и установленные (ESTABLISHED) соединения с именами процессов
ss -tulnp
# Аналог: netstat -tulnp (устаревший, но часто используется)

# Показать все открытые сетевые файлы (сокеты) для конкретного процесса или всех
lsof -i

3. Мониторинг в реальном времени:

# Просмотр логов аутентификации (Ubuntu/Debian)
tail -f /var/log/auth.log
# Просмотр логов аутентификации (RHEL/CentOS)
tail -f /var/log/secure

# Использование htop для просмотра дерева процессов
htop

4. Проверка запланированных задач и сервисов:

# Задачи cron текущего пользователя
crontab -l
# Системные cron-задачи
ls /etc/cron.*/
cat /etc/crontab

# Активные системные сервисы (демоны)
systemctl list-units --type=service --state=running

5. В контексте DevOps также важно:

  • Проверять журналы облачного провайдера (AWS CloudTrail, GCP Audit Logs) на предмет действий через консоль или API.
  • Использовать централизованный сбор логов (ELK Stack, Loki) для агрегации активности со всех серверов.