Это старая версия документа!
Скрипт активации root в Ubuntu
Описание
Автоматизированный скрипт для безопасной активации учетной записи root в Ubuntu с дополнительными возможностями управления пользователями системы.
Характеристики:
- Версия: 1.0
- Автор: Nick
- Совместимость: Ubuntu 18.04+, Debian 10+
- Требования: sudo права
Возможности скрипта
- ✅ Проверка текущего статуса root
- ✅ Интеллектуальная активация root (пропуск если уже активен)
- ✅ Установка/смена пароля root
- ✅ Настройка SSH доступа для root (опционально)
- ✅ Управление пользователями системы
- ✅ Безопасное удаление пользователей с завершением процессов
- ✅ Проверка результатов и рекомендации по безопасности
Установка и запуск
Шаг 1: Создание файла скрипта
nano /tmp/activate_root.sh
Примечание: Скопируйте содержимое скрипта в созданный файл
Шаг 2: Установка прав выполнения
chmod +x /tmp/activate_root.sh
Шаг 3: Запуск скрипта
sudo /tmp/activate_root.sh
ВАЖНО! Скрипт должен запускаться с правами sudo
Пошаговое использование
Этап 1: Проверка системы
Скрипт автоматически проверит:
- Права администратора
- Операционную систему
- Текущий статус root
Примечание: При обнаружении уже активированного root, скрипт предложит изменить пароль или пропустить этот шаг
Этап 2: Работа с root
Если root не активирован:
- Установка нового пароля
- Разблокировка учетной записи
Если root уже активирован:
- Опциональная смена пароля
- Переход к следующему этапу
Этап 3: Настройка SSH
Разрешить SSH доступ для root? (y/N):
При выборе «y»:
- Создание резервной копии конфигурации SSH
- Изменение параметра `PermitRootLogin` на `yes`
- Перезапуск SSH службы
ПРЕДУПРЕЖДЕНИЕ О БЕЗОПАСНОСТИ: SSH доступ для root повышает риски безопасности!
Этап 4: Управление пользователями
Скрипт покажет:
- Обычных пользователей (ID ≥ 1000)
- Системных пользователей с shell
- Полный список всех пользователей
Опции удаления пользователя:
- Только пользователь (домашняя папка остается)
- Пользователь + домашняя папка
- Пользователь + домашняя папка + все файлы
Этап 5: Обработка активных процессов
При удалении пользователя с активными процессами:
⚠️ НАЙДЕНЫ АКТИВНЫЕ ПРОЦЕССЫ: 1251 1 /usr/bin/process_name Завершить все процессы пользователя? (y/N):
Алгоритм завершения:
- Мягкое завершение (SIGTERM)
- Ожидание 3 секунды
- Принудительное завершение (SIGKILL)
- Финальная проверка
Примеры использования
Сценарий 1: Первичная активация root
=== Root уже активирован === ✓ Учетная запись root уже имеет пароль и активна Хотите изменить пароль root? (y/N): n ✓ Пароль root оставлен без изменений
Сценарий 2: Удаление пользователя
Введите имя пользователя для удаления: user Информация о пользователе 'user': uid=1000(user) gid=1000(user) groups=1000(user),27(sudo) ⚠️ НАЙДЕНЫ АКТИВНЫЕ ПРОЦЕССЫ: 1251 1 /usr/sbin/sshd Завершить все процессы пользователя 'user'? (y/N): y ✓ Все процессы пользователя 'user' завершены Выберите режим удаления: 1) Удалить только пользователя (сохранить домашнюю папку) 2) Удалить пользователя и домашнюю папку 3) Удалить пользователя, домашнюю папку и почту 4) Отмена
Меры безопасности
Защитные механизмы скрипта
- 🔒 Проверка прав sudo перед выполнением
- 🔒 Запрет удаления текущего пользователя
- 🔒 Предупреждения при работе с системными пользователями
- 🔒 Завершение активных процессов перед удалением
- 🔒 Создание резервных копий конфигурационных файлов
Рекомендации после активации
Обязательные действия:
- Использовать сильный пароль для root
- Настроить SSH ключи вместо паролей
- Настроить файрвол (ufw)
- Регулярно обновлять систему
- Мониторить логи входа
Команды для дополнительной защиты
# Настройка SSH ключей для root mkdir -p /root/.ssh chmod 700 /root/.ssh # Добавить публичный ключ в /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys # Настройка файрвола ufw default deny incoming ufw default allow outgoing ufw allow ssh ufw enable # Мониторинг попыток входа tail -f /var/log/auth.log | grep "root"
Устранение неполадок
Частые проблемы
| Проблема | Причина | Решение |
|---|---|---|
| `userdel: user is currently used by process` | Активные процессы пользователя | Выберите завершение процессов в скрипте |
| `Permission denied` при запуске | Отсутствие sudo прав | Запустите: `sudo ./script.sh` |
| SSH не перезапускается | Ошибка в конфигурации | Проверьте `/etc/ssh/sshd_config` |
| Root остается заблокированным | Системная политика | Выполните: `passwd -u root` |
Откат изменений
# Отключение root sudo passwd -l root # Восстановление SSH конфигурации sudo cp /etc/ssh/sshd_config.backup.* /etc/ssh/sshd_config sudo systemctl restart ssh # Пересоздание удаленного пользователя sudo useradd -m -s /bin/bash username sudo usermod -aG sudo username sudo passwd username
Логи и мониторинг
Важные файлы логов
- `/var/log/auth.log` - попытки входа в систему
- `/var/log/syslog` - системные события
- `/var/log/dpkg.log` - изменения пакетов
Команды мониторинга
# Просмотр последних входов root last root # Активные сессии root who | grep root # Процессы от имени root ps -u root # Проверка SSH конфигурации sshd -T | grep permitrootlogin
Заключение
Скрипт обеспечивает безопасную и контролируемую активацию root в Ubuntu с дополнительными возможностями управления пользователями. Следуйте рекомендациям по безопасности для защиты системы после активации.
ПОМНИТЕ: Активация root - это мощный инструмент, который требует ответственного использования!
Дата создания: y-m-d
Последнее обновление: y-m-d
Тэги: ubuntu root security bash automation