Одна команда rm -rf способна уничтожить целую систему.
Эта статья — практическое руководство, как сделать Linux максимально безопасным:
от защиты от случайных удалений до настройки файрвола и резервных копий.
🧱 1. Защита от случайных удалений
🔹 1.1 — Делайте rm интерактивным
Добавьте в ~/.bashrc:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
Теперь перед удалением, копированием или перемещением Linux всегда спросит подтверждение.
Примените изменения:
source ~/.bashrc
🔹 1.2 — Безопасная корзина через trash-cli
Чтобы rm не удалял файлы навсегда, установите утилиту корзины:
sudo apt install trash-cli
Добавьте в ~/.bashrc:
alias rm='trash'
Теперь все файлы отправляются в:
~/.local/share/Trash/files/
Восстановить можно так:
trash-restore
🔹 1.3 — Подтверждение даже при rm -rf
Создайте безопасную функцию в ~/.bashrc:
safe_trash() {
echo "⚠️ Вы собираетесь удалить: $@"
read -p "❓ Отправить в корзину? (y/N): " confirm
if [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]]; then
command trash "$@"
else
echo "🚫 Удаление отменено."
fi
}
alias rm='safe_trash'
Теперь даже rm -rf myfolder не сработает без явного подтверждения.
Файлы при этом перемещаются в корзину, а не уничтожаются.
🔹 1.4 — “Двойной уровень безопасности”
Если хотите иметь возможность удалять “по-настоящему”, добавьте в .bashrc это:
# rm — безопасное удаление в корзину
safe_trash() {
echo "⚠️ Вы собираетесь удалить: $@"
read -p "❓ Отправить в корзину? (y/N): " confirm
if [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]]; then
command trash "$@"
else
echo "🚫 Удаление отменено."
fi
}
alias rm='safe_trash'
# rm! — настоящее удаление без корзины, но с подтверждением
rm_force() {
echo "⚠️ ОПАСНОЕ УДАЛЕНИЕ: $@"
read -p "Введите 'yes' для подтверждения: " confirm
if [[ "$confirm" == "yes" ]]; then
command rm "$@"
else
echo "🚫 Удаление отменено."
fi
}
alias rm!='rm_force'
Теперь:
-
rm something→ безопасно, в корзину -
rm! something→ настоящее удаление (только после “yes”)
🛡️ 2. Резервные копии и восстановление
🔹 Timeshift — «точки восстановления» для Linux
sudo apt install timeshift
sudo timeshift-gtk
Можно восстанавливать систему, как в Windows.
Рекомендуется создавать снимки раз в день или перед установкой пакетов.
🔒 3. Минимизация прав и системная защита
🔹 Не злоупотребляйте sudo
Для редактирования системных файлов:
sudoedit /etc/имя_файла
Безопаснее, чем sudo nano, потому что не даёт случайно стереть файл.
🔹 Изолируйте /home
Если /home находится на отдельном разделе, данные пользователей не пострадают при сбое системы.
🌐 4. Сетевая безопасность
🔹 Настройте файрвол
sudo apt install ufw
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw status
🔹 Проверка на вредоносные процессы
sudo apt install chkrootkit
sudo chkrootkit
⚙️ 5. Умный скрипт «Безопасный Linux»
Создайте safe_linux_setup.sh:
#!/bin/bash
set -e
echo "🔧 Настройка безопасного окружения Linux..."
echo
# === УСТАНОВКА НЕОБХОДИМЫХ ПАКЕТОВ ===
echo "📦 Установка утилит: trash-cli, timeshift, ufw..."
sudo apt install -y trash-cli timeshift ufw
# === БЕЗОПАСНЫЕ АЛИАСЫ ===
echo "🧱 Настройка безопасных алиасов..."
{
echo ""
echo "# === Safe Linux Aliases ==="
echo "alias cp='cp -i'"
echo "alias mv='mv -i'"
} >> ~/.bashrc
# === SAFE_TRASH И RM_FORCE ===
echo "🗑️ Добавление функций safe_trash и rm_force..."
{
echo ""
echo "# === Safe Remove Functions ==="
cat <<'EOF'
safe_trash() {
echo "⚠️ Вы собираетесь удалить: $@"
read -p "❓ Отправить в корзину? (y/N): " confirm
if [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]]; then
command trash "$@"
else
echo "🚫 Удаление отменено."
fi
}
alias rm='safe_trash'
rm_force() {
echo "⚠️ ОПАСНОЕ УДАЛЕНИЕ: $@"
read -p "Введите 'yes' для подтверждения: " confirm
if [[ "$confirm" == "yes" ]]; then
command rm "$@"
else
echo "🚫 Удаление отменено."
fi
}
alias rm!='rm_force'
EOF
} >> ~/.bashrc
# === FIREWALL ===
echo "🧱 Настройка файрвола (ufw)..."
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
echo
echo "✅ Настройка завершена!"
echo "ℹ️ Перезапустите терминал или выполните: source ~/.bashrc"
echo "Теперь:"
echo " - 'rm' отправляет файлы в корзину с подтверждением"
echo " - 'rm!' удаляет навсегда (только после 'yes')"
echo " - Timeshift готов к созданию снимков"
echo " - Firewall активирован"
📚 Полезные ссылки
- Ubuntu Security Guide
- ArchWiki: System Maintenance
- Timeshift Documentation
- UFW Firewall Guide
- trash-cli GitHub
✅ Итого
| Мера безопасности | Защищает от |
|---|---|
safe_trash |
Случайного удаления |
trash-cli |
Потери файлов |
rm! |
Контролируемого полного удаления |
Timeshift |
Поломок системы |
sudoedit |
Ошибок редактирования |
ufw |
Сетевых атак |
chkrootkit |
Вирусов уровня ядра |
💬 Если у вас есть свои приёмы повышения безопасности Linux —
делитесь ими в комментариях!
Top comments (0)