Небезпечні Linux-команди, які можуть зламати систему

event 17.07.2026 10:00
| category System administration | person iron_will | comment 0 | visibility 3 | |

Вступ

Linux заслужено вважається однією з найстабільніших та найнадійніших операційних систем. Саме тому її широко використовують для серверів, контейнерних платформ, хмарної інфраструктури, суперкомп'ютерів та корпоративних середовищ. Однак навіть така стійка система може бути миттєво виведена з ладу однією невдалою командою.

На відміну від багатьох інших операційних систем, Linux надає адміністратору практично необмежений контроль над системою. Обліковий запис root має право змінювати будь-який файл, завершувати будь-який процес, форматувати диски, змінювати ядро та навіть повністю видалити операційну систему без додаткових підтверджень. Саме ця свобода є одночасно найбільшою перевагою та найбільшим ризиком.

У цій статті розглянемо найнебезпечніші Linux-команди, які можуть призвести до втрати даних, пошкодження файлової системи, зависання сервера, перевантаження ядра, появи kernel panic, запуску fork-бомб, створення мільйонів каталогів та інших критичних проблем. Також розглянемо способи захисту від подібних ситуацій.

Чому Linux дозволяє виконувати настільки небезпечні команди

Філософія UNIX і Linux базується на принципі довіри до адміністратора.

Система не намагається захистити користувача від власних дій. Якщо процес має достатні права доступу, ядро виконає практично будь-яку операцію.

Саме тому більшість катастроф у Linux є наслідком людської помилки, а не вразливостей операційної системи.

Найчастіші причини:

  • запуск команд від root;
  • помилки у shell-скриптах;
  • випадкове видалення директорій;
  • неправильне використання wildcard (*);
  • копіювання команд з Інтернету без перевірки;
  • виконання шкідливих сценаріїв.

Видалення всієї файлової системи через rm -rf

Без перебільшення це найвідоміша команда серед системних адміністраторів.

rm -rf /

або

rm -rf /*

Що відбувається

Команда рекурсивно видаляє всі файли та каталоги.

Параметри означають:

  • -r - рекурсивне видалення;
  • -f - без підтвердження;
  • / - коренева директорія.

У сучасних дистрибутивах GNU Coreutils існує захист:

rm: it is dangerous to operate recursively on '/'

Але його можна вимкнути:

rm -rf / --no-preserve-root

Після цього система почне видаляти власні бібліотеки, конфігурацію, ядро, драйвери та користувацькі файли.

Наслідки

  • система перестає завантажуватися;
  • втрата всіх даних;
  • необхідність повного перевстановлення ОС;
  • можливість втрати RAID або LVM-конфігурації.

Небезпека wildcard (*)

Іноді достатньо однієї помилки.

Приклад:

rm -rf $DIR/*

Якщо змінна порожня:

DIR=""

отримаємо

rm -rf /*

Саме такі помилки неодноразово ставали причиною масштабних аварій у виробничих середовищах.

Як уникнути

Перед виконанням перевіряйте змінні:

if [ -n "$DIR" ]; then
    rm -rf "$DIR"/*
fi

Форматування диска через mkfs

Команда

mkfs.ext4 /dev/sda

створює нову файлову систему.

Фактично вона знищує попередню структуру даних.

Приклади:

mkfs.xfs /dev/sdb
mkfs.ext4 /dev/nvme0n1

Наслідки

  • втрата таблиці inode;
  • знищення файлової системи;
  • складне або неможливе відновлення інформації.

Перед використанням необхідно перевіряти список дисків:

lsblk

або

fdisk -l

Перезапис диска через dd

Команда

dd if=/dev/zero of=/dev/sda bs=4M status=progress

повністю перезаписує диск нулями.

Інший приклад:

dd if=/dev/random of=/dev/sda

У цьому випадку диск заповнюється випадковими даними.

Наслідки

  • повне стирання інформації;
  • руйнування GPT;
  • руйнування MBR;
  • втрата завантажувача;
  • пошкодження RAID.

Fork-бомба

Однією з найвідоміших атак на Linux є fork-бомба.

Класичний приклад:

:(){ :|:& };:

Як працює fork-бомба

Функція створює дві власні копії.

Кожна копія створює ще дві.

Процеси ростуть експоненційно:

1
2
4
8
16
32
64
128
256
512
1024
...

За декілька секунд сервер може створити сотні тисяч процесів.

Наслідки

  • повне завантаження CPU;
  • вичерпання PID;
  • нестача пам'яті;
  • зависання SSH;
  • неможливість авторизації;
  • примусове перезавантаження.

Захист

Обмежити кількість процесів:

ulimit -u 500

або через /etc/security/limits.conf

* hard nproc 500

Для systemd можна використовувати:

TasksMax=500

Спам каталогами

Ще одна поширена проблема - масове створення директорій.

Наприклад:

while true
do
mkdir test_$RANDOM
done

або

for i in {1..1000000}
do
mkdir dir$i
done

Що відбувається

Створюються сотні тисяч або навіть мільйони каталогів.

Наслідки:

  • переповнення inode;
  • уповільнення файлової системи;
  • зростання часу резервного копіювання;
  • проблеми з файловими менеджерами;
  • перевантаження журналювання.

Особливо критично це для невеликих SSD та файлових систем із фіксованою кількістю inode.

Перевірити використання inode можна командою:

df -i

Заповнення диска нескінченним файлом

Команда

yes > file.txt

ніколи не завершується.

Вона постійно записує символи у файл.

Ще небезпечніше:

cat /dev/zero > bigfile

або

dd if=/dev/zero of=bigfile

Наслідки

  • заповнення файлової системи;
  • відмова баз даних;
  • неможливість запису логів;
  • аварійна зупинка служб.

Kernel Panic через SysRq

У Linux існує спеціальний механізм SysRq.

Якщо він дозволений:

echo c > /proc/sysrq-trigger

ядро навмисно викликає:

Kernel Panic

Для чого це потрібно

Команда використовується:

  • розробниками ядра;
  • тестуванням watchdog;
  • перевіркою crash dump;
  • аналізом аварій.

На робочому сервері її запуск призводить до миттєвого падіння системи.

Вимкнення ядра через Magic SysRq

Також існують команди:

echo b > /proc/sysrq-trigger

миттєве перезавантаження без синхронізації дисків.

echo o > /proc/sysrq-trigger

миттєве вимкнення живлення.

Такі команди можуть спричинити пошкодження файлової системи.

Завершення всіх процесів

Команда

kill -9 -1

надсилає сигнал SIGKILL усім процесам.

Якщо її запускає root, можуть завершитися майже всі служби.

Наслідки:

  • падіння SSH;
  • зупинка Docker;
  • завершення PostgreSQL;
  • завершення Nginx;
  • завершення системних сервісів.

Видалення спеціальних директорій

Ніколи не видаляйте:

rm -rf /proc
rm -rf /sys
rm -rf /dev

Це спеціальні псевдофайлові системи.

Навіть якщо після перезавантаження частина з них відновиться, працююча система може перестати функціонувати коректно.

Зміна прав доступу на всю систему

Приклад:

chmod -R 777 /

або

chmod -R 000 /

Наслідки:

  • порушення моделі безпеки;
  • відмова запуску служб;
  • проблеми із SELinux;
  • відсутність доступу до системних файлів.

Неправильне перенаправлення в пристрої

Команда

cat file > /dev/sda

записує вміст файлу безпосередньо у диск.

Це миттєво пошкоджує файлову систему.

Перезапис MBR або GPT

Наприклад:

dd if=file.img of=/dev/sda bs=512 count=1

або

dd if=/dev/zero of=/dev/sda bs=512 count=2048

Такі команди можуть повністю знищити таблицю розділів.

Нескінченне навантаження на процесор

Приклад:

while true
do
:
done

або

yes > /dev/null

CPU швидко досягає 100%.

Якщо запустити декілька таких процесів одночасно, сервер може перестати відповідати.

Видалення журналів

Команда

rm -rf /var/log/*

не завжди пошкоджує систему, але робить практично неможливим аналіз інцидентів.

У виробничих середовищах це може суттєво ускладнити розслідування аварій або кібератак.

Практичний кейс: одна помилка - повна втрата сервера

Уявімо Bash-скрипт очищення тимчасових файлів:

TMP_DIR="$1"

rm -rf "$TMP_DIR"/*

Адміністратор випадково запускає його без параметра:

./cleanup.sh

Якщо перевірка аргументів відсутня, змінна може бути порожньою або містити некоректний шлях. У подібних сценаріях одна логічна помилка здатна призвести до видалення критично важливих даних.

Безпечніший варіант:

#!/bin/bash

if [ -z "$1" ]; then
    echo "Необхідно вказати каталог."
    exit 1
fi

if [ ! -d "$1" ]; then
    echo "Каталог не існує."
    exit 1
fi

rm -rf -- "$1"/*

Такий підхід дозволяє уникнути більшості критичних помилок під час автоматизації.

Як захистити Linux від випадкових руйнівних команд

Навіть досвідчені адміністратори можуть припуститися помилки. Для мінімізації ризиків варто дотримуватися таких рекомендацій:

  • не працювати під обліковим записом root без необхідності;
  • використовувати sudo лише для окремих адміністративних команд;
  • регулярно створювати резервні копії;
  • перевіряти шляхи перед використанням rm, mv та dd;
  • обмежувати кількість процесів через ulimit і systemd;
  • контролювати використання inode (df -i);
  • застосовувати AppArmor або SELinux для обмеження доступу процесів;
  • тестувати небезпечні команди у віртуальних машинах або контейнерах;
  • використовувати контроль версій для конфігураційних файлів;
  • уважно перевіряти shell-скрипти перед запуском у виробничому середовищі.

Висновки

Більшість критичних інцидентів у Linux пов'язані не з помилками операційної системи, а з неправильним використанням її потужних можливостей. Команди rm, dd, mkfs, chmod, kill, механізм Magic SysRq, fork-бомби або нескінченні цикли можуть за лічені секунди вивести з ладу навіть високопродуктивний сервер.

Особливо небезпечними є сценарії, коли руйнівні команди виконуються від імені root або в автоматизованих скриптах без перевірки вхідних параметрів. Один неправильно вказаний шлях, порожня змінна чи помилка у циклі здатні призвести до втрати даних, пошкодження файлової системи, виснаження ресурсів процесора, пам'яті або inode.

Найкращим захистом залишається поєднання технічних механізмів безпеки - резервного копіювання, принципу найменших привілеїв, обмеження системних ресурсів, використання SELinux або AppArmor - із дисципліною адміністратора. Перед виконанням будь-якої потенційно небезпечної команди варто ще раз перевірити її параметри, особливо якщо вона запускається від імені суперкористувача або працює з критично важливими даними. Саме уважність і системний підхід дозволяють уникнути більшості катастрофічних помилок у Linux.

Related posts

Коди подій Windows: як визначити, хто встановив або видалив програму

ВступУ корпоративному середовищі контроль змін на робочих станціях є одним із ключових елементів інформаційної безпеки та ефективного адміністрування. Одним із найпоширеніших запитань, які виникають у системних адміністраторів, фахівців служби підтри...

category System administration person iron_will event 11/07/2026

PowerShell і BITS: ефективне копіювання та завантаження великих файлів

Вступ Передавання великих файлів є одним із найпоширеніших завдань у роботі системних адміністраторів, DevOps-інженерів, фахівців технічної підтримки та розробників. Резервні копії, ISO-образи операційних систем, віртуальні машини, архіви логів або...

category System administration person iron_will event 20/06/2026

Мережеві порти: що це таке, які вони бувають, навіщо потрібні та які мають обмеження

Вступ Сучасні комп'ютерні мережі побудовані на принципі одночасної роботи великої кількості сервісів та застосунків. Вебсервери, поштові системи, бази даних, VPN-рішення, системи моніторингу та корпоративні сервіси використовують одну й ту саму мере...

category Network person iron_will event 05/06/2026

Robocopy: можливості та переваги перед звичайним Copy/Xcopy

Вступ У корпоративному середовищі Windows-копіювання файлів давно вийшло за межі простого перенесення даних з однієї директорії в іншу. Коли йдеться про великі обсяги інформації, мережеві шляхи, нестабільні з’єднання або вимоги до надійності, станда...

category DevOps person iron_will event 28/05/2026

VPN, SSH та базова безпека інфраструктури

Вступ Сучасна IT-інфраструктура функціонує в умовах постійного зовнішнього впливу: сканування портів, автоматизовані брутфорс-атаки, експлуатація вразливостей сервісів та цільові кібератаки. Навіть невеликі системи без належного захисту можуть стати...

category Security person iron_will event 26/05/2026

Kubernetes для новачків: базові концепції

Вступ Сучасна розробка програмного забезпечення дедалі більше орієнтується на мікросервісну архітектуру, контейнеризацію та автоматизацію інфраструктури. У центрі цієї трансформації знаходиться Kubernetes - одна з найпопулярніших платформ оркестраці...

category Kubernetes person iron_will event 17/05/2026
cookie
This website uses cookies to improve your experience. Learn more
dangerous
warning