Вы можете легко ограничить количество процессов, которые могут быть созданы в Ubuntu и большинстве других дистрибутивов Linux, изменив /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Затем добавьте эту строку в конец этого файла:
* hard nproc nnn
где:
hard
устанавливает ограничение на уровне ядра, чтобы его нельзя было изменить без перезагрузки.
nproc
максимальное количество процессов на пользователя.
nnn
это число, которое вы должны рассчитать для вашей системы по:
ps aux -L | cut --delimiter=" " --fields=1 | sort | uniq --count | sort --numeric-sort | tail --lines=1
Приведенная выше команда выведет список всех процессов для всех пользователей, включая потоки , суммирует их и перечислит имя пользователя с наибольшим количеством процессов. Чтобы быть в безопасности, перед запуском вышеуказанной команды откройте столько приложений, сколько вам обычно нужно, а затем удвойте это число в целях безопасности.
После того, как этот лимит будет установлен, вам нужно будет перезагрузиться, но это повлияет на каждого пользователя без полномочий root в системе. Так что если любой пользователь без полномочий root выполнит разветвленную бомбу, у него будет такое жесткое ограничение.
Ограничения групповых и групповых символов по умолчанию не применяются к пользователю root . Используйте буквальное имя пользователя root
в правилах, если вы хотите применить правило к суперпользователю.
Кроме того, если вы не хотите перезапускать в ближайшее время, вы можете использовать, sudo ulimit -u 800
который наложит ограничение только на запущенный сеанс, но может быть легко обойден вилкой с sudo
привилегиями!
После перезапуска /etc/security/limits.conf
будет использовано все, что находится внутри .
Некоторые дополнительные сведения о вилочных бомбах: они не являются вредоносными программами или чем-то ужасным. Как правило, они состоят из чего-то такого базового, как скрипт, который вызывает себя дважды, тем самым экспоненциально увеличивая свое присутствие на компьютере. Несмотря на то, что у них небольшой объем памяти, учитывая их быстрый темп, они быстро заполняют всю доступную оперативную память, и машина зависает или перезагружается. Единственная опасность - потеря несохраненной информации. Я бы классифицировал вилочную бомбу как шутку, а не как вредоносное ПО.
Важное напоминание:
Вы редко когда-либо выполняете что-либо в командной строке, если вы не уверены на 98% в его действиях. Если вы не можете прочитать команды, которые выполняете - не делайте этого. Это применяет двойные к нечитаемым кускам шестнадцатеричных / base64 символов, которые могут использоваться, чтобы скрыть все виды злобности. Если вы не уверены в какой-либо команде, вы всегда можете найти ее действия в справочных страницах Ubuntu и соблюдать дополнительные меры предосторожности при ее использовании, sudo
поскольку она будет выполняться от имени пользователя root.
alias ":(){ :|: & };:"="echo 'No.'"
моего.bashrc
- он будет выполнять каждый вход?Мне нравится простой способ создать псевдоним, хотя псевдоним не всегда применяется, проверьте ответ выше.
В настоящее время
источник
a(){ a|a & };a
? (или любое другое имя функции?)