Oprava rozbitého sudoers

Oprava rozbitého sudoers
« kdy: 28. 08. 2023, 17:46:52 »
Dobrý den,

dostal jsem od kolegy čistou instalaci Debian 12. Povedla se mi taková šikovná věc(jednou za čas se prostě stane), ke které se asi není třeba vůbec vyjadřovat :-D Editoval sem sudoers file s tím, že když mám autentifikaci skrze klíč místo hesla, tak nechci pořád zadávat heslo při zadání sudo příkazu. No a jelikož nevím na co si hraju, tak sem ještě předtím změnil shell root uživatele na /sbin/nologin .. Tak a i když sem použil "sudo visudo" a dal zapsat, tak sem ten soubor nějak dojebal - asi sem tam nastavil špatně hodnotu? Tak a jelikož mi nevadí, že budu za kreténa tady, ale né před svým kolegou, tak se zde ptám, zda-li to lze nějak ještě spravit. Je to server v datovém centru, nemůžu disk namountovat někam jinam, případně pustit nějakou live distribuci. Mám pouze příkazovou řádku a svůj nefunkční sudo účet :-D

Zkoušel jsem su -s /bin/bash nebo su -s /bin/bash -c "/usr/sbin/usermod -s /bin/bash root" ale to skončí tímto:

su: using restricted shell /sbin/nologin
This account is currently not available.

Někde jsem ještě našel, že existuje nějaký pkexec, ale ten balíček nemám nainstalovaný, tudíž to nepůjde.

Je tomu ještě nějak pomoci, nebo budu muset kolegovi přiznat, že jsem prostě kretén? :-D Naštěstí mám home-office, tak se mu při tom aspoň nebudu muset dívat do očí.

Děkuji :-)
« Poslední změna: 28. 08. 2023, 18:11:23 od Petr Krčmář »


Re:Oprava rozbitého sudoers
« Odpověď #1 kdy: 28. 08. 2023, 22:45:42 »
za starých dobrých časů jsme hledali děravý driver, přes který bychom mohli získat root práva :).

Dnes už máme lepší cesty, otázka je, jestli nejsou zamazané. Kromě suda existuje i pkexec, popsané tady https://wiki.debian.org/PolicyKit, záleží jaké máš nastavené policy, ale pokud někdo nechal výchozí, tak ti stačí být členem skupiny wheel (občas někdo přidává i sudo skupinu) a můžeš spustit bash s právy root.

Občas je problém, že pkexec potřebuje agenta, klidně pod stejnám userem, což občas nebývá pokud to někdo nepoužívá. Řešení jsme před pár lety diskutovali tady https://github.com/NixOS/nixpkgs/issues/18012, přihlásíš se na server ve dvou sezeních, v jednom spustíš agenta, v druhém pkexec. Nejlepší dokumentace k tomu je samozřejmě na archu, https://wiki.archlinux.org/title/Polkit

Zkus pár příkazů, hoď sem chybové hlášky a třeba s tím něco půjde udělat.

Re:Oprava rozbitého sudoers
« Odpověď #2 kdy: 29. 08. 2023, 08:05:51 »
Takhle nejak jsem taky zachranoval sudoers, kdyz jsem do toho hrabal naprimo.
https://youtu.be/wNy7v-DmAlQ?si=7I-cwclGbUTvJ--c&t=160

Otazka zni jestli to jeste stale jde...

Re:Oprava rozbitého sudoers
« Odpověď #3 kdy: 29. 08. 2023, 08:27:33 »
Jestli to není šifrovaná instalace, šlo by nabootovat z nějakého linux rescue cd, zeditovat sudoers, pak jít, a po**rvit to znovu.
(been there too)

Wasper

  • ***
  • 123
    • Zobrazit profil
    • E-mail
Re:Oprava rozbitého sudoers
« Odpověď #4 kdy: 29. 08. 2023, 10:14:41 »
Jestli to není šifrovaná instalace, šlo by nabootovat z nějakého linux rescue cd, zeditovat sudoers, pak jít, a po**rvit to znovu.
Pak už klasika "rw init=/bin/bash" v lilo/grubu by byla rychlejší.

Ale dost vážně bych doporučil @OPovi, aby se na to vykašlal, šel s pravdou ven a kolegům koupil pivo. Když člověk úplně neví, co dělá, je produkce posledním místem na hrdinství.