Практическое задание

Эта задача — шаг 3 курса «Расследование на сервере»

Сколько файлов держит чужой процесс

средне~5 мин

На сервере крутится процесс kswapd-helper — похож на системный, но такого в ядре нет. Прежде чем его останавливать, сними улику: посчитай, сколько файловых дескрипторов у него сейчас открыто, и запиши число в /root/fd-count.txt. Процесс не трогай.

Что потренируешь:
  • файловые дескрипторы
  • /proc
  • pgrep
  • подсчёт записей
  • расследование

Разбор темы

Файловый дескриптор — запись в таблице открытых файлов процесса: обычный файл, сокет, пайп, устройство. Ядро показывает эту таблицу в /proc/PID/fd/ — по символической ссылке на дескриптор, и ls -l там сразу говорит, куда процесс пишет и что читает. При расследовании это одна из первых улик: число и цели дескрипторов подозрительного процесса фиксируют до его остановки, потому что после kill они исчезнут. Схема — найти PID по имени (pgrep -x), затем посчитать записи в его fd; простой ls даёт строку на запись, а ls -l добавляет строку total.

Что проверяется

  1. процесс kswapd-helper жив
  2. число дескрипторов совпадает

Как это выглядит