20 команд Linux, которые не стоит запускать, либо запускать с особой осторожностью
Linux — мощная и гибкая система, которой доверяют миллионы серверов и инженеров по всему миру. Но чем больше возможностей, тем выше риски. Некоторые команды в Linux могут не просто навредить — а уничтожить вашу систему.
Если вы разработчик, системный администратор или DevOps — знать об этих командах критически важно.
Вот 20 команд, к которым стоит относиться с особой осторожностью: понимать, что вы делаете, зачем и почему именно таким путём.
sudo rm -rf /*
Удаляет всё — от системных файлов до пользовательских данных. Без предупреждений. Без отката. Результат — полное уничтожение системы.
:(){ :|:& };: (Форк-бомба)
Бесконечное самовоспроизводящееся выражение, которое забивает процессор. Система становится неотзывчивой. Только перезагрузка спасает.
Рекомендация: используйте ulimit для ограничения количества процессов.
dd if=/dev/zero of=/dev/sda
Перезаписывает весь диск /dev/sda нулями, блок за блоком, уничтожая все содержимое
Когда можно использовать: только при установке ОС — и точно зная, что вы делаете.
mkfs.ext4 /dev/sda
Форматирует диск в файловую систему ext4. В продакшене происходит мгновенная потеря всех данных.
shutdown now
Немедленно выключает сервер без подтверждения. Грозит прерыванием процессов, потерей данных.
reboot
Незапланированная перезагрузка = простои, сбои в БД, потеря транзакций.
kill -9 -1
Если выполнит администратор — потеря сетевого соединения, крах служб, зависание или падение всей системы. Если запустит пользователь сервиса — завершатся все процессы пользователя (включая оболочку и терминал), сессия будет немедленно закрыта, пользователь вылетит из системы.
chmod -R 777 /
Даёт полные права всем на всё. Система становится уязвимой для любого пользователя и атакующего.
chown -R root:root /
Нарушение прав доступа. Многие процессы перестанут работать корректно.
iptables -F
Что делает: очищает все правила брандмауэра. Сервер остаётся без защиты.
sync; echo 3 > /proc/sys/vm/drop_caches
Очистка кэша без причины может резко снизить производительность.
find / -name "*" -delete
Удаляет всё, что можно найти. Даже то, что не стоит трогать.
rsync --delete
При неправильной настройке можно уничтожить данные на удалённой машине.
iptables -P INPUT DROP
Что произойдёт: вы полностью отрежете себя от сервера.
dd if=/dev/random of=/dev/sda bs=512 count=1
Уничтожение диска случайными данными. Без шанса на восстановление. Если диск /dev/sda — загрузочный, в первых 512 байтах хранятся важные данные: MBR — загрузочный сектор, таблица разделов (при MBR) или начало GPT (при GPT-разметке). Команда удалит эти данные.
Даже если остальной диск не затронут, без MBR или GPT он станет нечитаемым. Операционная система не загрузится. Разделы не будут определяться.
mv /home/user/* /dev/null
Перемещает домашнюю директорию пользователя со всеми файлами в «чёрную дыру» /dev/null. Всё, что туда сбрасывается — попадает в виртуальное «нигде», то есть бесследно исчезает.
Заключение
Команды Linux — это мощный инструмент. Но без понимания последствий они превращаются в оружие массового уничтожения.
Всегда проверяйте, что вы запускаете. Делайте бэкапы. И соблюдайте принцип наименьших привилегий.
-----------------------------------------------
Если вас привлекает карьера в DevOps — приглашаем на бесплатную консультацию с Senior DevOps, где вы узнаете, что нужно для перехода из другой IT-профессии и сколько времени займёт с вашими навыками.
▶ Ещё больше полезностей из мира DevOps в нашем Telegram-канале.