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

Вчера в сети рассылки попалась статья на zdnet Какие пять команд нельзя выполнять на Linux и почему?, четыре из них были знакомы, а вот на пятой -- профилератор процессов(process proliferator) остановимся, потому что является на мой взгляд диковинкой, но все же.

♨️ Не смотря на то, что ее запись как :(){ :|:& };: , выглядит несколько глупой, но это команда является малоизвестной fork-бомбой для Bash. По-сути она относится к типу атак -- отказ в обслуживании (Denial of Service, DoS), которая будет заполнять таблицу процессов до упора.

📛 Этот упор устанавливается в ограничениях системных настроек (system limit setting), параметром max user processes, значение которого можно получить с помощью команды ulimit -a.

*️⃣ Обычно эта команда показывает все установленные ограничения вместе с числом процессов, который может запускать пользователь в своем сеансе.

*️⃣Для пермоментной установки ограничения запускаемых процессов пользователем можно использовать команду sudo ulimit -u 1000

*️⃣Для фиксированного ограничения запускаемых процессов пользователем обычно прописывают ключевое значение nproc в файле /etc/security/limits.conf :

1️⃣ Для конкретного пользователя

user soft nproc 1000
user hard nproc 1000

2️⃣ Или для всех пользователей

 * soft nproc 1000
 * hard nproc 1000

Картинка взята с zdnet

Что такое профилератор процессов и что с ним делать? | Сетка — социальная сеть от hh.ru