Автор Гілка: Манівці з init= в grub для відновлення sudo  (Прочитано 8913 раз)

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Було на вході:
1) віртуальна машина з centos8 під openstack
2) нема пароля root
3) був доступ через sudo, але поламався через доданий недавно неправильний sudo-файл (так, так, треба користуватися visudo :))
4) доступ до grub є, але обмежений через веб-сторінку

Жодні поради з інету, як відновити root не спрацювали (як варіант, можна було б використати вразливість polkit, але машина робоча - можна було отримати по шиї :)).
Спроба init=/bin/bash не спрацьовувала, бо веб-сторінка, хоч і мала консоль, не вміла це робити на такій ранній стадії.
Рішення: написати програму на rust, що пересуває поламаний файл в /tmp, покласти прогу десь в на основній файловій системі, і дати шлях до неї в grub як init=...
Цікаво, що перший варіант програми, написаний на go не спрацював - замість посунути файл, ядро запанікувало.
Fedora 35 (x86-64)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Манівці з init= в grub для відновлення sudo
« Відповідей #1 : 2022-02-07 01:09:19 »
Рішення: написати програму на rust, що пересуває поламаний файл в /tmp, покласти прогу десь в на основній файловій системі, і дати шлях до неї в grub як init=...
Цікаво, що перший варіант програми, написаний на go не спрацював - замість посунути файл, ядро запанікувало.

Якщо є можливість записати щось на диск, чому відразу не поправити конфіг?
[Fedora Linux]

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: Манівці з init= в grub для відновлення sudo
« Відповідей #2 : 2022-02-07 17:09:11 »
нема прав root, без цього не можна виправити файл в /etc/sudoers.d
Fedora 35 (x86-64)