Відновлення пароля для root або загроза безпеки з коробки в linux

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







  1. 1. Введення
  2. 2. Відновлення пароля root в дистрибутивах Linux
    1. 2.1. Дистрибутиви з включеним локальним входом root`a (Mandriva, ASPLinux і ін.)
    2. 2.2. Дистрибутиви з відключеним локальним входом root`a (Ubuntu, Kubuntu та ін.)
  3. 3. Використання LiveCD для відновлення пароля root

Є ситуації, коли потрібно увійти в систему під root, але пароль невідомий. Загальний механізм відновлення полягає в здійсненні завантаження системи в режимі одного і редагуванні пароля. Цей доступ можна отримати тільки відредагувавши конфігурацію менеджера завантаження ОС. Якщо з якоїсь причини цього зробити не можна (встановлений пароль на зміну запуску, використовується «самопісний» завантажувач і т.д.), то слід використовувати LiveCD будь-якого доступного дистрибутива Linux.

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

Рішення, яке може убезпечити від такого роду злому ОС, полягає в установці пароля доступу до редагування конфігурації менеджера завантаження системи. Щодо розміщення пароля на менеджер завантаження ОС можна прочитати в статті "Установка та налаштування пароля на менеджер ОС GRUB".

2. Відновлення пароля root в дистрибутивах Linux

2.1 Дистрибутиви з включеним локальним входом root`a

До цього списку відноситься більшість дистрибутивів Linux. Простіше кажучи, це дистрибутиви, в яких можна залогінитися в системі в якості root`a. Всі приклади, наведені нижче, відносяться до дистрибутива Mandriva.

Алгоритм відновлення пароля root в дистрибутивах з включеним локальним входом суперкористувача:

  1. При завантаженні системи Ви потрапляєте в меню менеджера завантаження ОС, де списком відображені способи запуску ОС з доступними версіями ядра. У деяких дистрибутивах використовується графічний режим (наприклад Mandriva), який відключається клавішею .

GNU GRUB version 0.97 (639K lower / 129984K upper memory)

Use the ↑ and ↓ keys to select which entry is hightlighted.
Press enter to boot the selected OS, 'e' to edit the
commands before booting, or 'c' for a command-line.

У верхній частині списку зазвичай розташовується найновіше ядро, навпроти якого Вам слід встановити курсор і натиснути клавішу (E dit). В даному прикладі тільки одне доступне ядро.
  • Наступним кроком редагуємо параметри завантаження ядра.

    GNU GRUB version 0.97 (639K lower / 129984K upper memory)

    kernel (hd0,0) / boot / vmlinuz BOOT_IMAGE = linux root = / dev / hda1 →
    initrd (hd0,0) /boot/initrd.img

    Use the ↑ and ↓ keys to select which entry is hightlighted.
    Press enter to boot the selected OS, 'e' to edit the
    commands before booting, or 'c' for a command-line.

    У цьому списку ставимо курсор на пункт, який починається зі слова kernel і натискаємо клавішу (E dit).
  • До кінця рядка після пробілу додаємо 1 і натискаємо .

    [Minimal BASH-like line editing is supported. Fot the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device / filename. ESC at any time exits. ]

    Цей доданий параметр дозволяє запустити систему в режимі одного (Single Mode) з правами root. У наступному вікні натискаємо клавішу (B oot).

  • Після завантаження системи міняємо пароль суперкористувача root. Для цього запускаємо команду:

    При зміні пароля, система не буде питати старий пароль, а відразу запропонує ввести новий з подальшим його повторним підтвердженням.

    sh-3.2 # passwd root
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully

    Пароль змінений.
  • далі # 43;# 43; і при подальшому старті системи можна буде зайти під обліковим записом суперкористувача root.






  • 2.2 Дистрибутиви з відключеним локальним входом root`a

    До таких дистрибутивам відносяться: Ubuntu, Kubuntu, Xubuntu, Edubuntu. Ідеологія цих дистрибутивів забороняє працювати від імені користувача root. Тому в них за замовчуванням відключений локальний вхід root`a на комп'ютер. У таких ОС тільки відновити пароль недостатньо. Потрібно ще включити цей самий локальний вхід.

    Відновлення пароля в Ubuntu, Kubuntu, Xubuntu, Edubuntu:

    1. При завантаженні системи Ви потрапляєте в меню менеджера завантаження ОС, де списком відображені способи запуску ОС з доступними версіями ядра. У верхній частині списку зазвичай розташовується найновіше ядро, навпроти якого Вам слід встановити курсор і натиснути клавішу (E dit).
    2. Наступним кроком редагуємо параметри завантаження ядра. У цьому списку ставимо курсор на пункт, який починається зі слова kernel і натискаємо клавішу (E dit).

    kernel /boot/vnlinuz-2.6.27-9-generic boot = UUID = b01b2698-983b-4de7 →

    initrd /boot/initrd.img-2.6.27-9-generic
    quiet

    Use the ↑ and ↓ keys to select which entry is highlighted Press 'b' to boot, 'e' to edit the selected command in the boot sequence, 'c' for a command-line, 'o' to open a new line after ( 'O' for before) the selected line, 'd' to remove the selected line, or escape to go back to the main menu.

  • До кінця рядка після пробілу додаємо:

    В результаті на екрані отримуємо:

    [Minimal BASH-like line editing is supported. Fot the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device / filename. ESC at any time exits. ]

    <-983b-4de7-Bba5-fe98ad772722 ro quiet rw init=/bin/bash

    тиснемо і потім клавішу (B oot).
  • Після завантаження системи міняємо пароль root командою:

    При зміні пароля, система не буде питати старий пароль, а відразу запропонує ввести новий з подальшим його повторним підтвердженням.

    root @ (none): / # passwd root
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully

    Пароль змінений.
  • Додаємо дозвіл на локальний вхід суперкористувачеві. Для цього потрібно відредагувати конфігураційний файл /etc/gdm/gdm.conf. У розділі [SECURITY]. знаходимо параметр AllowRoot і міняємо його значення на true.

    # Sudo nano /etc/gdm/gdm.conf

    # Відкриваємо файл для редагування

    Шукаємо рядок в розділі [SECURITY].

    І міняємо параметр AllowRoot на true. Має вийти так:

    Закриваємо файл, зберігаючи внесені зміни.
  • тиснемо # 43;# 43; і при подальшому старті системи можна буде зайти під обліковим записом суперкористувача root.
  • 3. Використання LiveCD для відновлення пароля root

    Якщо з якихось причин Ви не можете відновити пароль root вищевикладеними способами, то пропоную розглянути останній загальний спосіб відновлення. Цей спосіб підійде для будь-якої операційної системи Linux.

    Суть останнього способу полягає в завантаженні комп'ютера з LiveCD в root оточенні вашого кореневого розділу та зміні пароля.

    Використання LiveCD для відновлення пароля суперкористувача root:

    1. Завантажуємося з LiveCD;
    2. Монтуємо кореневу файлову систему до директорії / mnt. Про монтування можна прочитати докладніше в статті "Команда mount в Linux або все про монтування розділів, дисків, образів ISO і SMB ресурсів"

    # Переглядаємо структуру жорсткого диска. Кореневий розділ буде позначений символом /, саме він нам і потрібен.

    # Sudo mount / dev / кореневий розділ / mnt

    # Монтування кореневого розділу. В якості точки монтування директорія / mnt.

  • Додаємо root-оточення системі LiveCD:

    #sudo chroot / mnt

  • Міняємо стандартної командою пароль root:

    #sudo passwd root

    При зміні пароля, система не буде питати старий пароль, а відразу запропонує ввести новий з подальшим його повторним підтвердженням.

    root @ ubuntu # sudo passwd root
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully

  • Перезавантажуємо систему і входимо під доданої обліковим записом root.
  • Про це повинен знати і пам'ятати кожен системний адміністратор!

    Випадкові 7 статей: