Сброс пароля root для Ubuntu 16.04 - режим восстановления запрашивает пароль root

Мы потеряли пароль root с нашего файлового сервера с сервера supermicro.

Я попытался следовать общим инструкциям для перезагрузки с левым смещением и перехода в корневую оболочку, как описано в этом ответе.

Когда я выбираю root в этом меню:

Ubuntu по-прежнему запрашивает пароль root или предлагает нажать Ctrl + D, чтобы вернуться в меню Recovery.

Есть ли другие способы сбросить пароль root?

1 ответ

Решение

Поскольку у вас есть физический доступ к машине, вы можете сделать это через Live USB/CD.

  1. Загрузитесь с USB и выберите "Try Ubuntu" вместо "Install Ubuntu".

  2. Откройте терминал (Ctrl + Alt + T) и сначала посмотрите, какое устройство используется на диске вашей машины. Вы можете сделать это с lsblk который должен привести к выводу, как это (я использовал живой CD для этого, так как я воспроизводил шаги в виртуальной машине):

    $ lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda      8:0    0 119,2G  0 disk 
    ├─sda1   8:2    0    16G  0 part [SWAP]
    └─sda2   8:3    0 103,2G  0 part /
    sr0     11:0    1  1024M  0 rom  /cdrom
    

    Так что в этом случае это будет /dev/sda2 но это может отличаться для вашей установки.

  3. Теперь смонтируйте раздел с помощью:

    sudo mount /dev/sda2 /mnt
    
  4. Теперь перейдем к той части, где вы можете, наконец, 1 chroot внутрь.

    sudo chroot /mnt
    

    Вы увидите, что ваша подсказка изменилась на что-то вроде root@ubuntu:/# и теперь следующие шаги довольно просты.

  5. Измените пароль для ваших пользователей с passwd:

    passwd root
    passwd <main-user>
    

    Это уже должно было быть сделано, но если это в любом случае, установите пароли с passwd команда терпит неудачу, вы можете пойти глубоко в кроличью нору и изменить /etc/shadow файл, но будьте осторожны: это довольно опасно, и вы делаете это на свой страх и риск.

  6. Выход из chroot нажав Ctrl + D или введите выход. Размонтировать машину с sudo umount /mnt а затем перезагрузите sudo reboot, Вы хотите извлечь USB / CD и убедиться, что вы действительно загружаете данный компьютер.


1 Это chroot Этот метод достаточен для сброса паролей или даже для добавления и удаления пользователей из групп, но он не позволяет полностью использовать установленную систему через chroot. Многие другие команды, такие как apt, потерпит неудачу, если вы запустите их в chroot, настроенном таким образом.

Если вам когда-либо понадобится выполнить более полный ремонт установленной системы, к которой вы обращаетесь с живого CD/DVD/USB- например, путем установки, удаления или обновления программного обеспечения - тогда вам нужно будет настроить некоторые дополнительные монтирования перед chroot ING. Вы могли бы сделать это, выполнив эти команды после запуска sudo mount /dev/sda2 /mnt но перед запуском sudo chroot /mnt:

sudo mount -o bind /dev /mnt/dev
sudo mount -o bind /dev/pts /mnt/dev/pts
sudo mount -t sysfs /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc

Если у вас есть несколько разделов для разных частей ОС, как, например, отдельный /boot раздел, то вы бы хотели смонтировать их в правильные позиции. Например, где sdX это имя устройства для этого конкретного диска и n номер раздела:

sudo mount /dev/sdXn /mnt/boot

Хорошо, если вы выполните эти команды раньше chroot для сброса паролей с помощью passwd команда. Это не обязательно, однако.

Другие вопросы по тегам