Я слышал, как кто-то говорил о вилочной бомбе, я провел некоторое исследование и обнаружил некоторую ужасную информацию о некоторых странно выглядящих персонажах, которые люди могут заставить вас печатать в командной строке и в результате делать плохие вещи на компьютере. Я, конечно, не буду давать команды, которые не понимаю, но никто не знает, что может произойти.
Я слышал, что некоторые ОС позволяют администратору накладывать некоторые ограничения на пользовательские процессы, чтобы смягчить последствия вилочных бомб. Является ли эта защита в Ubuntu по умолчанию или кто-то с привилегией sudo должен ее установить? Если да, то как?
Мне нравится простой способ создать псевдоним, хотя псевдоним не всегда применяется, проверьте ответ выше.
alias :="echo No."
Сейчас
$ :(){ :|: & };:
bash: syntax error near unexpected token `('
Вы можете легко ограничить количество процессов, которые могут быть запущены в 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.
Каждая система уязвима для форк-бомбы, например, Windows
:fork
start example.bat
или Linux
:(){ :|: & };:
Есть также версия для Mac, но я не знаю ее.
Чтобы это сработало, вам нужно выполнить команды, первая форк-бомба была в 1974 году, и если вы не введете эти команды, ваш компьютер не выйдет из строя.