Якщо ви забули root-пароль від Linux-сервера в хмарі, і sudo прав на машину в інших користувачів немає, скористайтеся нашою інструкцією, щоб скинути root-пароль під різні ОС.

Якщо в інструкції щось незрозуміло, звертайтеся в чат на сайті.

Зайдіть у вбудовану консоль панелі керування. Зайти в неї можна, натиснувши на ім’я сервера та вибравши меню Консоль, або обравши потрібний пункт у меню навпроти сервера.

Консоль

Centos 7 x86_64 + Centos 7 x86_64 Webuzo

1. Натисніть кнопку Send Ctrl+Alt+Del у консолі — це перезавантажить сервер. Під час завантаження потрібно «зловити» меню завантажувача. У нашому образі CentOS 7 використовується Grub.

2. Як тільки ви побачите на екрані таку картинку, натисніть пробіл або кнопку вниз — це зупинить відлік часу:

Меню завантажувача CentOS 7

3. Grub деякий час «думає» на цьому меню завантаження. Тому треба дати йому зрозуміти, що не потрібно автоматично продовжувати завантаження з налаштуваннями за замовчуванням, і що ми хочемо працювати з його меню.

4. Стрілками обираємо потрібне ядро, яке відображено на скріншоті, і вводимо «e» латиницею.

5. Тепер ми можемо редагувати параметри завантаження ядра:

Опції завантаження ядра

6. Стрілками переходимо до початку рядка, який починається з «linux16». Це вказівка шляху до файлу ядра, яке потрібно завантажити, а також опції завантаження. Нам потрібно переписати ці опції, щоб потрапити до ОС без root-паролю.

Робимо таке:

  • Змінюємо ro на rw
  • Змінюємо перше значення console=tty0 на console=tty
  • Видаляємо 2 значення: console=ttyS0,115200n8 та console=ttyS0,115200
  • Наприкінці додаємо init=/bin/bash

Було:

Опції до змін

Стало:

Опції після змін

7. Після зміни натискаємо комбінацію клавіш CTRL+X, що перезавантажує ядро з новими опціями.

8. Якщо ми все зробили коректно, побачимо таке:

Екран після успішних змін

9. Ми потрапили на сервер від root без пароля і можемо скинути пароль.

Спочатку перевіряємо, чи можна внести зміни до файлової системи. Для цього в консолі вводимо:

mount | grep vda

Якщо все зробили правильно, побачимо такий екран:

Перевірка внесення змін до файлової системи

На екрані ми повинні бачити опцію rw, яку ми задавали в налаштуваннях — не ro. Якщо бачимо ro, потрібно перемонтувати файлову систему в rw:

mount -o remount, rw /

Після монтування потрібно знову перевіряти ще раз, що опція вказана як rw, за допомогою команди з попереднього пункту.

10. Скидаємо пароль командою:

Passwd

Важливо! Новий пароль не відображається навіть зірочками. Тому потрібно вводити його наосліп двічі.
Ще важливіше! Якщо ви не вимикали Selinux, вам також доведеться змусити його перечитати контексти. Для цього треба створити файл /.autorelabel, який дасть Selinux зрозуміти, що потрібно перечитати контекст. Без цього ми не зможемо залогінитися з новим паролем:

touch /.autorelabel

11. Після цього, про всяк випадок, виконуємо команду sync, щоб усі зміни з оперативної пам’яті записалися на диск:

sync

12. Щоб змінити зміни, перезавантажте сервер.
Команди reboot і shutdown -r і кнопка Send Ctrl+Alt+Del не підійдуть. Вони розраховують на init -демона, який ми підмінили процесом /bin/bash.
Тому потрібно зробити hard reboot сервера (холодне перезавантаження) з контрольної панелі, або запустити init -демона вручну. Це можна зробити, виконавши команду:

exec /sbin/init

13. Після перезавантаження можемо зайти на сервер від імені root із новим паролем.

Fedora 28

1. Натисніть на кнопку «Send Ctrl+Alt+Del» в консолі — це перезавантажить сервер. У процесі завантаження потрібно «зловити» меню завантажувача. У нашому образі Fedora використовується Grub.

Як тільки ви побачите на екрані таку картинку, натисніть пробіл або кнопку вниз — це зупинить відлік часу:

Меню завантажувача Fedora

2. Grub деякий час «думає» на цьому меню завантаження. Тому треба дати йому зрозуміти, що не потрібно автоматично продовжувати завантаження з налаштуваннями за замовчуванням, і що ми хочемо працювати з його меню. Для цього вводимо «e» латиницею.

З’являється можливість редагувати параметри завантаження ядра.

Опції завантаження ядра в Fedora

3. Стрілками переходимо до початку рядка, що починається з «linux16». Це вказівка шляху до файлу ядра, яке потрібно завантажити, а також опції завантаження. Нам потрібно переписати ці опції, щоб потрапити до ОС без root-паролю.

Робимо таке:

  • Змінюємо ro на rw
  • Змінюємо перше значення console=tty1 на console=tty
  • Видаляємо значення console=ttyS0,115200n8
  • Наприкінці додаємо rd.break enforcing=0

Було:

Опції до змін у Fedora

Стало:

Опції після зміни Fedora

4. Після змін натискаємо комбінацію клавіш CTRL+X. Це перезавантажує сервер із новими опціями. Якщо все зробили правильно, бачимо таке:

Екран після успішних змін у Fedora

5. Ми зайшли в «emergency recovery» консолі.
Спочатку перевіряємо, чи можемо вносити зміни до файлової системи. Для цього в консолі вводимо:

mount | grep vda

Якщо все зробили правильно, побачимо таке:

Перевірка внесення змін до файлової системи

Нас цікавить опція rw, яку ми задавали в налаштуваннях. Повинна бути вказана вона не ro. Якщо бачимо ro — потрібно перемонтувати файлову систему в rw:

mount -o remount, rw /

6. Після встановлення знову перевірте, що опція при перевірці вказана як rw, за допомогою команди з попереднього пункту.

7. Скидаємо пароль:

chroot /sysroot

Потім:

passwd

Важливо! Новий пароль не відображається навіть зірочками. Тому треба вводити його наосліп двічі.

8. Після цього, про всяк випадок, виконуємо команду sync — щоб усі зміни з оперативної пам’яті записалися на диск:

sync

2 рази вводимо команду:

exit

9. Після цього піде нормальне завантаження ОС. Очікуємо закінчення завантаження і входимо з новим паролем.

10. Тепер потрібно виправити Selinux після нашого втручання. Віддаємо команди від root:

restorecon -v /etc/shadow
setenforce 1

Файл /etc/shadow перечитується для Selinux і вмикається режим назад в Enforcing.

openSUSE Leap 42

Якщо ви налаштовували пароль на Grub-завантажувач і не пам’ятаєте його, цей спосіб вам не підійде. Вам потрібно буде завантажити сервер з іншого джерела, наприклад, з OpenSuse Install DVD образу.

1. Натисніть на кнопку «Send Ctrl+Alt+Del» в консолі — це перезавантажить сервер. У процесі завантаження потрібно «зловити» меню завантажувача. У нашому образі openSUSE використовується Grub.

Як тільки ви побачите на екрані таку картинку, натисніть пробіл або кнопку вниз — це зупинить відлік часу:

Меню завантажувача в openSUSE

2. Grub деякий час «думає» на цьому меню завантаження. Тому треба дати йому зрозуміти, що не потрібно автоматично продовжувати завантаження з налаштуваннями за замовчуванням, і що ми хочемо працювати з його меню. Для цього вводимо «e» латиницею.

З’являється можливість редагувати параметри завантаження ядра.

Опції завантаження ядра в openSUSE

Щоб відновити пароль, ми можемо використовувати як single-user mode, так і трюк з init=/bin/bash. Оскільки можливо, що у вас single-user mode налаштований так, щоб все одно вимагати root-пароль, ми відразу опишемо спосіб із запуском bash як init процесом.

Наші образи openSUSE використовують Grub як завантажувач. Якщо ви використовували свій образ openSUSE, ваш завантажувач може бути не Grub, а LiLo. У такому разі, синтакс відрізнятиметься.

3. Стрілки переходимо до початку рядка, що починається з «linux». Це вказівка шляху до файлу ядра, яке потрібно завантажити, а також опції завантаження. Нам потрібно переписати ці опції, щоб потрапити до ОС без root-паролю.

Робимо таке:

  • Видаляємо значення: console=ttyS0,115200n8
  • Змінюємо значення console=tty0 на console=tty
  • Наприкінці додаємо init=/bin/bash

Було:

Опції до змін у openSUSE

Стало:

Опції після змін у openSUSE

4. Після зміни натискаємо комбінацію клавіш CTRL+X, що виконує перезавантаження з новими опціями.

5. Якщо все було виконано коректно, бачимо таку картину:

Екран після успішних змін в openSUSE

Ми потрапили на сервер від root без пароля та можемо виконати скидання самого пароля.

6. Для початку виконуємо монтування файлової системи для можливості внесення змін, в консолі вводимо:

mount -o remount, rw /

Перевіряємо коректність змін:

mount | grep vda

Якщо все було виконано правильно, ми побачимо таке:

Екран після успішних змін в openSUSE

Нас цікавить опція rw , повинна бути вказана саме вона, а не ro.

7. Скидаємо пароль командою:

Passwd

Важливо! Новий пароль не відображається навіть зірочками, тому треба вводити його наосліп двічі.

8. Після цього, про всяк випадок, виконуємо команду sync , щоб усі зміни з оперативної пам’яті записалися на диск:

sync

9. Далі потрібно перезавантажити сервер для застосування змін.
Команди reboot і shutdown -r і кнопка Send Ctrl+Alt+Del не підійдуть. Вони розраховують на init-демона, який ми підмінили процесом /bin/bash. Тому потрібно зробити hard reboot сервера (холодне перезавантаження) з контрольної панелі, або запустити init-демона вручну. Це можна зробити, виконавши команду:

exec /sbin/init

13. Після перезавантаження можемо зайти на сервер від імені root із новим паролем.

Ubuntu 14.04

1. Натисніть кнопку Send Ctrl+Alt+Del — це перезавантажить сервер. Відразу виділяємо область консолі мишею. У процесі завантаження потрібно встигнути «зловити» меню завантажувача. У нашому образі Ubuntu використовується Grub.

2. У Canonical меню Grub зазвичай не видно. Щоб його викликати, треба затиснути клавішу Shift (тільки лівий) у процесі завантаження, як тільки з’являється напис Booting from hard disk.

Якщо з першого разу не вийде, спробуйте ще раз.

В результаті ви повинні отримати наступне зображення:

Меню завантажувача Ubuntu

3. На першому пункті Ubuntu натискаємо «e» латиницею і бачимо наступне:

Опції завантаження ядра Ubuntu

4. Стрілками переходимо до початку рядка, який починається з «linux». Це вказівка шляху до файлу ядра, яке потрібно завантажити, а також опції завантаження. Нам потрібно переписати ці опції, щоб потрапити до ОС без root-паролю.

Робимо таке:

  • Змінюємо ro на rw
  • Змінюємо перше значення console=tty1 на console=tty
  • Видаляємо значення: console=ttyS0
  • Наприкінці додаємо init=/bin/bash

Було:

Опції до змін в Ubuntu

Стало:

Опції після зміни Ubuntu

5. Після зміни натискаємо комбінацію клавіш CTRL+X, що виконує перезавантаження з новими опціями.

Якщо все зробили правильно, бачимо таке:

Екран після успішних змін в Ubuntu

Ми потрапили на сервер від root та можемо скинути пароль.

6. Виконуємо перевірку можливості внесення змін до файлової системи:

mount | grep vda

Якщо все зробили правильно, бачимо таке:

Екран після успішних змін в Ubuntu

Нас цікавить опція rw, яку ми задавали в налаштуваннях. Повинна бути вказана вона не ro.

7. Якщо бачимо ro — потрібно перемонтувати файлову систему в rw:

mount -o remount, rw /

8. Після встановлення знову перевірте, що опція при перевірці вказана як rw, за допомогою команди з попереднього пункту.

9. Скидаємо пароль командою:

Passwd

Важливо! Новий пароль не відображається навіть зірочками. Тому потрібно вводити його наосліп двічі.

Ще важливіше! Якщо ви не вимикали Selinux, вам також доведеться змусити його перечитати контексти. Для цього треба створити файл /.autorelabel, який дасть Selinux зрозуміти, що потрібно перечитати контекст. Без цього ми не зможемо залогінитися з новим паролем:

touch /.autorelabel

10. Після цього, про всяк випадок, виконуємо команду sync, щоб усі зміни з оперативної пам’яті записалися на диск:

sync

11. Щоб змінити зміни, перезавантажте сервер.

Команди reboot і shutdown -r і кнопка Send Ctrl+Alt+Del не підійдуть. Вони розраховують на init-демона, який ми підмінили процесом /bin/bash. Тому потрібно зробити hard reboot сервера (холодне перезавантаження) з контрольної панелі, або запустити init-демона вручну. Це можна зробити, виконавши команду:

exec /sbin/init

13. Після перезавантаження можемо зайти на сервер від імені root із новим паролем.

Ubuntu 16.04

1. Натисніть кнопку Send Ctrl+Alt+Del — це перезавантажить сервер. Відразу виділяємо область консолі мишею. У процесі завантаження потрібно встигнути «зловити» меню завантажувача. У нашому образі Ubuntu використовується Grub.

2. У Canonical меню Grub зазвичай не видно. Щоб його викликати, треба затиснути клавішу Shift (тільки лівий) у процесі завантаження, як тільки з’являється напис Booting from hard disk.

Якщо з першого разу не вийде, спробуйте ще раз. В результаті ви повинні отримати наступне зображення:

Меню завантажувача Ubuntu 16.04

3. Стрілками обираємо «Advanced options for Ubuntu» і натискаємо Enter, бачимо наступне:

Advanced options for Ubuntu

4. Обираємо пункт з (recovery mode) та натискаємо Enter.

5. Обираємо пункт «root Drop to root shell prompt» і натискаємо Enter:

Пункт «root Drop to root shell prompt»

7. У наших шаблонах Ubuntu не потрібно вводити додатковий пароль. Ми потрапляємо на сервер від root без нього.

8. Для початку виконуємо перевірку можливості внесення змін до файлової системи, в консолі вводимо:

mount | grep vda
Перевірку можливості внесення змін до файлової системи

Нас цікавить опція rw, яку ми задавали в налаштуваннях. Повинна бути вказана вона не ro.

9. Якщо бачимо ro — потрібно перемонтувати файлову систему в rw:

mount -o remount, rw /

10. Після встановлення знову перевірте, що опція при перевірці вказана як rw, за допомогою команди з попереднього пункту.

11. Скидаємо пароль командою:

Passwd

Важливо! Новий пароль не відображається навіть зірочками. Тому потрібно вводити його наосліп двічі.

12. Після цього, про всяк випадок, виконуємо команду sync, щоб усі зміни з оперативної пам’яті записалися на диск:

sync

13. Щоб змінилися, перезавантажте сервер.
Команди reboot і shutdown -r і кнопка Send Ctrl+Alt+Del не підійдуть. Вони розраховують на init-демона, який ми підмінили процесом /bin/bash. Тому потрібно зробити hard reboot сервера (холодне перезавантаження) з контрольної панелі, або запустити init-демона вручну. Це можна зробити, виконавши команду:

exec /sbin/init

14. Після перезавантаження можемо зайти на сервер від імені root із новим паролем.

Debian 8 + Debian 9

1. Натисніть кнопку Send Ctrl+Alt+Del — це перезавантажить сервер. Відразу виділяємо область консолі мишею. У процесі завантаження потрібно встигнути «зловити» меню завантажувача. У наших образах Debian використовується Grub.

2. У Canonical меню Grub зазвичай не видно. Щоб його викликати, треба затиснути клавішу Shift (тільки лівий) у процесі завантаження, як тільки з’являється напис Booting from hard disk.

Якщо з першого разу не вийде, спробуйте ще раз.

В результаті ви повинні отримати наступне зображення:

Меню завантажувача Debian

3. На відміну від Ubuntu, root-користувач у Debian образі закритий (на паролі). Тому ми не зможемо скористатися штатним Rescue варіантом завантаження. Потрібно виправити опції завантаження.

4. Вибираємо пункт Debian GNU/Linux та натискаємо e латиницею.

5. Потрапимо до конфігурації вибраного пункту меню:

Конфігурація вибраного пункту меню

6. Стрілками переходимо до початку рядка, який починається з «linux». Це вказівка шляху до файлу ядра, яке потрібно завантажити, а також опції завантаження. Нам потрібно переписати ці опції, щоб потрапити до ОС без root-паролю. Робимо таке:

  • Змінюємо ro на rw
  • Змінюємо перше значення console=tt0 на console=tty
  • Видаляємо 2 значення: console=ttyS0,115200 та earlyprintk=ttyS0,115200
  • наприкінці додаємо init=/bin/bash

Було:

Опції до змін у Debian

Стало:

Опції після зміни у Debian

7. Після зміни натискаємо комбінацію клавіш CTRL+X, бачимо меню та натискаємо Enter.

Меню в Debian

8. Ми потрапили на сервер від root та можемо скинути пароль. Виконуємо перевірку можливості внесення змін до файлової системи:

mount | grep vda

Якщо все зробили правильно, бачимо таке:

Екран після успішних змін у Debian

Нас цікавить опція rw, яку ми задавали в налаштуваннях. Повинна бути вказана вона не ro.

9. Якщо бачимо ro, потрібно перемонтувати файлову систему в rw:

mount -o remount, rw /

10. Після встановлення знову перевірте, що опція при перевірці вказана як rw, за допомогою команди з попереднього пункту.

11. Скидаємо пароль командою:

Passwd

Важливо! Новий пароль не відображається навіть зірочками. Тому потрібно вводити його наосліп двічі.

12. Після цього, про всяк випадок, виконуємо команду sync, щоб усі зміни з оперативної пам’яті записалися на диск:

sync

13. Щоб змінилися, перезавантажте сервер.
Команди reboot і shutdown -r і кнопка Send Ctrl+Alt+Del не підійдуть. Вони розраховують на init-демона, який ми підмінили процесом /bin/bash. Тому потрібно зробити hard reboot сервера (холодне перезавантаження) з контрольної панелі, або запустити init-демона вручну. Це можна зробити, виконавши команду:

exec /sbin/init

14. Після перезавантаження можемо зайти на сервер від імені root із новим паролем.