vm:ubuntu:script:02-root_user

Это старая версия документа!


Скрипт активации root в Ubuntu

Автоматизированный скрипт для безопасной активации учетной записи root в Ubuntu с дополнительными возможностями управления пользователями системы.

Характеристики:

  • Версия: 1.0
  • Автор: Nick
  • Совместимость: Ubuntu 18.04+, Debian 10+
  • Требования: sudo права
  • ✅ Проверка текущего статуса root
  • ✅ Интеллектуальная активация root (пропуск если уже активен)
  • ✅ Установка/смена пароля root
  • ✅ Настройка SSH доступа для root (опционально)
  • ✅ Управление пользователями системы
  • ✅ Безопасное удаление пользователей с завершением процессов
  • ✅ Проверка результатов и рекомендации по безопасности
nano /tmp/activate_root.sh

Примечание: Скопируйте содержимое скрипта в созданный файл

chmod +x /tmp/activate_root.sh
sudo /tmp/activate_root.sh

ВАЖНО! Скрипт должен запускаться с правами sudo

Скрипт автоматически проверит:

  1. Права администратора
  2. Операционную систему
  3. Текущий статус root

Примечание: При обнаружении уже активированного root, скрипт предложит изменить пароль или пропустить этот шаг

Если root не активирован:

  1. Установка нового пароля
  2. Разблокировка учетной записи

Если root уже активирован:

  1. Опциональная смена пароля
  2. Переход к следующему этапу
Разрешить SSH доступ для root? (y/N):

При выборе «y»:

  1. Создание резервной копии конфигурации SSH
  2. Изменение параметра `PermitRootLogin` на `yes`
  3. Перезапуск SSH службы

ПРЕДУПРЕЖДЕНИЕ О БЕЗОПАСНОСТИ: SSH доступ для root повышает риски безопасности!

Скрипт покажет:

  1. Обычных пользователей (ID ≥ 1000)
  2. Системных пользователей с shell
  3. Полный список всех пользователей

Опции удаления пользователя:

  1. Только пользователь (домашняя папка остается)
  2. Пользователь + домашняя папка
  3. Пользователь + домашняя папка + все файлы

При удалении пользователя с активными процессами:

⚠️  НАЙДЕНЫ АКТИВНЫЕ ПРОЦЕССЫ:
 1251     1 /usr/bin/process_name
Завершить все процессы пользователя? (y/N):

Алгоритм завершения:

  1. Мягкое завершение (SIGTERM)
  2. Ожидание 3 секунды
  3. Принудительное завершение (SIGKILL)
  4. Финальная проверка
=== Root уже активирован ===
✓ Учетная запись root уже имеет пароль и активна
Хотите изменить пароль root? (y/N): n
✓ Пароль root оставлен без изменений
Введите имя пользователя для удаления: 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 перед выполнением
  • 🔒 Запрет удаления текущего пользователя
  • 🔒 Предупреждения при работе с системными пользователями
  • 🔒 Завершение активных процессов перед удалением
  • 🔒 Создание резервных копий конфигурационных файлов

Обязательные действия:

  1. Использовать сильный пароль для root
  2. Настроить SSH ключи вместо паролей
  3. Настроить файрвол (ufw)
  4. Регулярно обновлять систему
  5. Мониторить логи входа
# Настройка 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

  • vm/ubuntu/script/02-root_user.1758488930.txt.gz
  • Последнее изменение: 2025/09/21 21:08
  • admin