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

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

Чья учётка забила обменник

средне~7 мин

Общий каталог обмена /data/exchange за ночь распух. В нём пишут три служебные учётки — reporter, builder и ftp-guest, и одна из них, похоже, скомпрометирована и складывает туда выгрузку. Выясни, чьи файлы суммарно занимают больше всего байт во всём дереве, включая вложенные каталоги и скрытые файлы, и запиши имя этой учётки в /root/space-owner.txt.

Что потренируешь:
  • find -printf
  • владелец файла
  • awk: суммирование
  • скрытые файлы
  • расследование

Разбор темы

du считает место по каталогам, но когда в одном дереве перемешаны файлы разных владельцев, вопрос «кто занял место» решается иначе: перечисляют файлы с атрибутами и суммируют размер по владельцу. find печатает нужные поля через -printf (%u — владелец, %s — размер в байтах), а awk копит суммы в ассоциативном массиве и выводит их в конце. Ловушки две: у кого самый крупный файл или больше всего файлов — не обязательно тот, у кого больше всего байт, а выгрузку нередко прячут в скрытые каталоги, которые шаблоны оболочки пропускают.

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

  1. найдена учётка, занявшая больше всего места

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