Якщо Ви забули пароль і не можете отримати доступ до операційної системи? То ця стаття для Вас!

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

В той же час ця стаття дасть поживу для роздумів на тему незахищеності менеджера завантаження ОС при фізичному доступі до Linux машині. Зловмисник може отримати привілейований доступ до комп’ютера або сервера, увійшовши в однокористувацький режим і змінивши пароль root. При цьому йому не потрібно знати ні єдиного пароля системи.

Зміст

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

    Нагору


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

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

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

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


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

    Нагору

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

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

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

    GNU GRUBversion 0.97 (639K lower / 129984K upper memory)

    linux
    linux-nonfb
    failsafe
    Use the ^ and v 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.


    В початку списку зазвичай розташовується саме нове ядро, навпроти якого Вам слід встановити курсор і натиснути клавішу (Edit). В даному прикладі лише одне доступне ядро.

  • Наступним кроком редагуємо параметри завантаження ядра.

    GNU GRUBversion 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 v 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 і натискаємо клавішу (Edit).

  • До кінця рядка після пробілу додаємо 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. У наступному вікні натискаємо клавішу (Boot).

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

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

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

    Пароль змінено.

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

    Нагору

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

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

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

    uuid b01b2698-983b-4de7-8ba5-fe9Bad772722

    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 v 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.

  • До кінця рядка після пробілу додаємо:
    # rw init=/bin/bash

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

    [ 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


    Тиснемо і потім клавішу (Boot).

  • Після завантаження системи змінюємо пароль root командою:
    # passwd root

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

    [email protected](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=false

    І змінюємо параметр AllowRoot на true. Повинно вийти так:

    AllowRoot=true

    Закриваємо файл, зберігаючи внесені зміни.

  • Тиснемо ++ і при наступному старті системи можна буде зайти під обліковим записом суперкористувача root.
  • 3. Використання LiveCD для відновлення пароля root

    Нагору


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

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

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

  • Завантажуємося з LiveCD;
  • Монтуємо кореневу файлову систему до каталогу /mnt. Про монтування можна прочитати детальніше в статті “Команда mount в Linux або все про монтування розділів, дисків, образів ISO і SMB ресурсів”
    # sudo fdisk -l
    # Переглядаємо структуру жорсткого диска. Кореневий розділ буде позначено символом /, саме він нам і потрібен.
    # sudo mount /dev/кореневий розділ /mnt
    # Монтування кореневого розділу. В якості точки монтування (директорія /mnt.
  • Додаємо root-оточення системі LiveCD:
    #sudo chroot /mnt
  • Міняємо стандартною командою пароль root:
    #sudo passwd root

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

    [email protected]#sudo passwd root
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully
  • Перезавантажуємо систему і входимо під доданої облікового запису root.
  • З усього написаного вище можна зробити висновок, що відновлення втраченого пароля root не настільки вже трудомістка робота, з якою може впоратися будь зацікавлена людина. Навіть той, кому цього робити не годиться. З точки зору безпеки, вхід в однокористувацький режим операційної системи вимагає додаткової уваги.

    Про це повинен знати і пам’ятати кожен системний адміністратор!

    SHARE
    Previous articleДля чого потрібен кожен каталог Linux чи структура директорій ОС Лінукс
    Next articleThunderbird – поштовий клієнт

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here