Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| vm:ubuntu:script:02-root_user [2025/09/21 21:10] – admin | vm:ubuntu:script:02-root_user [2025/09/21 21:25] (текущий) – admin | ||
|---|---|---|---|
| Строка 7: | Строка 7: | ||
| **Характеристики: | **Характеристики: | ||
| * **Версия: | * **Версия: | ||
| - | * **Автор: | ||
| * **Совместимость: | * **Совместимость: | ||
| * **Требования: | * **Требования: | ||
| Строка 21: | Строка 20: | ||
| * ✅ Проверка результатов и рекомендации по безопасности | * ✅ Проверка результатов и рекомендации по безопасности | ||
| - | ===== Установка и запуск ===== | + | ===== Создание |
| - | ==== Шаг 1: Создание файла скрипта | + | Создание файла скрипта |
| <code bash> | <code bash> | ||
| - | nano /tmp/activate_root.sh | + | cd ~ |
| + | nano activate_root.sh | ||
| </ | </ | ||
| - | ==== Шаг 1: Создание файла скрипта ==== | + | Скопируйте код скрипта в созданный |
| <code bash> | <code bash> | ||
| - | nano /tmp/ | + | chmod +x activate_root.sh |
| + | sudo ./ | ||
| </ | </ | ||
| - | **Примечание: | + | **ВАЖНО!** Скрипт должен запускаться с правами sudo |
| ===== Код скрипта ===== | ===== Код скрипта ===== | ||
| Строка 41: | Строка 42: | ||
| <code bash> | <code bash> | ||
| #!/bin/bash | #!/bin/bash | ||
| - | |||
| # Скрипт активации учетной записи root на Ubuntu | # Скрипт активации учетной записи root на Ubuntu | ||
| # Автор: Nick | # Автор: Nick | ||
| # Версия: | # Версия: | ||
| - | |||
| set -e # Остановка скрипта при любой ошибке | set -e # Остановка скрипта при любой ошибке | ||
| - | |||
| echo "=== Скрипт активации учетной записи root на Ubuntu ===" | echo "=== Скрипт активации учетной записи root на Ubuntu ===" | ||
| echo " | echo " | ||
| echo | echo | ||
| - | |||
| # Проверка прав администратора | # Проверка прав администратора | ||
| if [ " | if [ " | ||
| Строка 58: | Строка 55: | ||
| exit 1 | exit 1 | ||
| fi | fi | ||
| - | |||
| # Проверка операционной системы | # Проверка операционной системы | ||
| if ! grep -q " | if ! grep -q " | ||
| Строка 68: | Строка 64: | ||
| fi | fi | ||
| fi | fi | ||
| - | |||
| echo " | echo " | ||
| root_status=$(passwd -S root) | root_status=$(passwd -S root) | ||
| echo " | echo " | ||
| - | |||
| # Проверка статуса root (P = пароль установлен, | # Проверка статуса root (P = пароль установлен, | ||
| root_status_code=$(echo " | root_status_code=$(echo " | ||
| - | |||
| echo | echo | ||
| if [[ " | if [[ " | ||
| Строка 129: | Строка 122: | ||
| fi | fi | ||
| done | done | ||
| - | |||
| echo | echo | ||
| echo "=== Шаг 2: Разблокировка учетной записи root ===" | echo "=== Шаг 2: Разблокировка учетной записи root ===" | ||
| Строка 140: | Строка 132: | ||
| fi | fi | ||
| fi | fi | ||
| - | |||
| echo | echo | ||
| echo "=== Шаг 3: Настройка SSH доступа для root (опционально) ===" | echo "=== Шаг 3: Настройка SSH доступа для root (опционально) ===" | ||
| read -p " | read -p " | ||
| echo | echo | ||
| - | |||
| if [[ $REPLY =~ ^[Yy]$ ]]; then | if [[ $REPLY =~ ^[Yy]$ ]]; then | ||
| # Создание резервной копии конфигурации SSH | # Создание резервной копии конфигурации SSH | ||
| Строка 170: | Строка 160: | ||
| echo " | echo " | ||
| fi | fi | ||
| - | |||
| echo | echo | ||
| echo "=== Шаг 4: Проверка результатов ===" | echo "=== Шаг 4: Проверка результатов ===" | ||
| - | |||
| # Проверка статуса пользователя root | # Проверка статуса пользователя root | ||
| echo " | echo " | ||
| passwd -S root | passwd -S root | ||
| - | |||
| # Проверка возможности входа | # Проверка возможности входа | ||
| echo | echo | ||
| echo " | echo " | ||
| grep " | grep " | ||
| - | |||
| # Проверка групп root | # Проверка групп root | ||
| echo | echo | ||
| echo " | echo " | ||
| groups root | groups root | ||
| - | |||
| # Проверка SSH конфигурации (если была изменена) | # Проверка SSH конфигурации (если была изменена) | ||
| if [[ $REPLY =~ ^[Yy]$ ]]; then | if [[ $REPLY =~ ^[Yy]$ ]]; then | ||
| Строка 194: | Строка 179: | ||
| grep " | grep " | ||
| fi | fi | ||
| - | |||
| echo | echo | ||
| echo "=== Шаг 5: Управление пользователями системы ===" | echo "=== Шаг 5: Управление пользователями системы ===" | ||
| Строка 208: | Строка 192: | ||
| awk -F: ' | awk -F: ' | ||
| echo | echo | ||
| - | |||
| read -p " | read -p " | ||
| echo | echo | ||
| - | |||
| if [[ $REPLY =~ ^[Yy]$ ]]; then | if [[ $REPLY =~ ^[Yy]$ ]]; then | ||
| echo "=== Удаление пользователей ===" | echo "=== Удаление пользователей ===" | ||
| Строка 379: | Строка 361: | ||
| done | done | ||
| fi | fi | ||
| - | |||
| echo | echo | ||
| echo "=== Информация о безопасности ===" | echo "=== Информация о безопасности ===" | ||
| cat << ' | cat << ' | ||
| ВАЖНО! После активации root: | ВАЖНО! После активации root: | ||
| - | |||
| 1. Используйте сильный пароль для root | 1. Используйте сильный пароль для root | ||
| 2. Рассмотрите использование SSH ключей вместо паролей | 2. Рассмотрите использование SSH ключей вместо паролей | ||
| Строка 391: | Строка 371: | ||
| 5. Мониторьте логи на предмет подозрительной активности | 5. Мониторьте логи на предмет подозрительной активности | ||
| 6. Рассмотрите отключение root после настройки системы | 6. Рассмотрите отключение root после настройки системы | ||
| - | |||
| Логи входа в систему: | Логи входа в систему: | ||
| Для отключения root: sudo passwd -l root | Для отключения root: sudo passwd -l root | ||
| EOF | EOF | ||
| - | |||
| echo | echo | ||
| echo "=== Дополнительные команды (опционально) ===" | echo "=== Дополнительные команды (опционально) ===" | ||
| read -p " | read -p " | ||
| echo | echo | ||
| - | |||
| if [[ $REPLY =~ ^[Yy]$ ]]; then | if [[ $REPLY =~ ^[Yy]$ ]]; then | ||
| cat << ' | cat << ' | ||
| Дополнительные команды безопасности: | Дополнительные команды безопасности: | ||
| - | |||
| # Настройка SSH ключей для root: | # Настройка SSH ключей для root: | ||
| mkdir -p /root/.ssh | mkdir -p /root/.ssh | ||
| Строка 410: | Строка 386: | ||
| # Добавить публичный ключ в / | # Добавить публичный ключ в / | ||
| chmod 600 / | chmod 600 / | ||
| - | |||
| # Настройка файрвола (не включается автоматически): | # Настройка файрвола (не включается автоматически): | ||
| # ufw enable | # ufw enable | ||
| Строка 416: | Строка 391: | ||
| # ufw default allow outgoing | # ufw default allow outgoing | ||
| # ufw allow ssh | # ufw allow ssh | ||
| - | |||
| # Отключение root после настройки: | # Отключение root после настройки: | ||
| passwd -l root | passwd -l root | ||
| - | |||
| # Изменение SSH порта: | # Изменение SSH порта: | ||
| # Измените Port 22 на другой порт в / | # Измените Port 22 на другой порт в / | ||
| # systemctl restart ssh | # systemctl restart ssh | ||
| - | |||
| # Мониторинг попыток входа: | # Мониторинг попыток входа: | ||
| tail -f / | tail -f / | ||
| EOF | EOF | ||
| fi | fi | ||
| - | |||
| echo | echo | ||
| echo "=== Активация root завершена ===" | echo "=== Активация root завершена ===" | ||
| echo " | echo " | ||
| passwd -S root | passwd -S root | ||
| - | |||
| exit 0 | exit 0 | ||
| </ | </ | ||
| - | |||
| - | ==== Шаг 2: Установка прав выполнения ==== | ||
| - | |||
| - | <code bash> | ||
| - | chmod +x / | ||
| - | </ | ||
| - | |||
| - | ==== Шаг 3: Запуск скрипта ==== | ||
| - | |||
| - | <code bash> | ||
| - | sudo / | ||
| - | </ | ||
| - | |||
| - | **ВАЖНО!** Скрипт должен запускаться с правами sudo | ||
| ===== Пошаговое использование ===== | ===== Пошаговое использование ===== | ||
| Строка 571: | Строка 527: | ||
| chmod 600 / | chmod 600 / | ||
| - | # Настройка файрвола | + | # Настройка файрвола |
| - | ufw default deny incoming | + | # ufw default deny incoming |
| - | ufw default allow outgoing | + | # ufw default allow outgoing |
| - | ufw allow ssh | + | # ufw allow ssh |
| - | ufw enable | + | # ufw enable |
| # Мониторинг попыток входа | # Мониторинг попыток входа | ||
| Строка 587: | Строка 543: | ||
| ^ Проблема ^ Причина ^ Решение ^ | ^ Проблема ^ Причина ^ Решение ^ | ||
| | `userdel: user is currently used by process` | Активные процессы пользователя | Выберите завершение процессов в скрипте | | | `userdel: user is currently used by process` | Активные процессы пользователя | Выберите завершение процессов в скрипте | | ||
| - | | `Permission denied` при запуске | Отсутствие sudo прав | Запустите: | + | | `Permission denied` при запуске | Отсутствие sudo прав | Запустите: |
| | SSH не перезапускается | Ошибка в конфигурации | Проверьте `/ | | SSH не перезапускается | Ошибка в конфигурации | Проверьте `/ | ||
| | Root остается заблокированным | Системная политика | Выполните: | | Root остается заблокированным | Системная политика | Выполните: | ||
| Строка 636: | Строка 592: | ||
| **ПОМНИТЕ: | **ПОМНИТЕ: | ||
| - | |||
| - | ---- | ||
| - | |||
| - | **Дата создания: | ||
| - | **Последнее обновление: | ||
| - | **Тэги: | ||