Tento tutoriál vysvětluje, jak obnovit oprávnění sudo uživateli z režimu obnovení na Ubuntu Linux a jeho derivátech, jako je Linux mint, operační systémy Pop OS. Tuto příručku jsem testoval na systému Ubuntu 18.04 LTS. Mělo by však fungovat i na jiných distribucích Linuxu.
Úvod
Onehdy jsem testoval, jak přidat běžného uživatele do skupiny sudo a odebrat mu daná oprávnění aby se znovu stal normálním uživatelem Ubuntu.
Během testování jsem odstranil svého administrativního uživatele z 'sudo'
skupina. Jak již víte, uživatel by měl být ve skupině sudo, aby mohl provádět jakékoli administrativní úkoly. Ale měl jsem pouze jednoho super uživatele a už jsem mu odebral práva sudo.
Kdykoli spustím příkaz s předponou sudo, narazil jsem na chybu - "sk není v souboru sudoers. Tento incident bude nahlášen ".
."Nemohu dělat žádné administrativní úkony. Nemohl jsem se přepnout na uživatele root pomocí příkazu 'sudo su'. Jak již víte, uživatel root je v Ubuntu ve výchozím nastavení zakázán, takže se také nemohu přihlásit jako uživatel root.
Byli jste někdy v takové situaci? Bez obav! Dnes vám ukážu, jak opravit porušená oprávnění sudo uživateli v systému Ubuntu Linux.
Obnovit oprávnění sudo
Krok 1: Spusťte systém Linux do režimu obnovení.
Chcete-li tak učinit, restartujte systém a stiskněte a podržte SHIFT klíč při bootování. Uvidíte spouštěcí nabídku grub. Vyberte „Pokročilé možnosti pro Ubuntu“ ze seznamu spouštěcí nabídky.

Na další obrazovce vyberte "režim obnovení" a stiskněte ENTER:

Dále zvolte "Výzva přetažení do kořenového prostředí" a stiskněte klávesu ENTER:

Nyní jste v režimu obnovení jako uživatel root.

Krok 2: Připojte kořenový souborový systém v režimu čtení/zápisu. Chcete-li tak učinit, zadejte následující příkaz pro připojení root (/
) souborový systém v režimu čtení/zápisu.
mount -o remount,rw /
Krok 3: Nyní přidejte uživatele, kterého jste odebrali ze sudo
skupina.
V mém případě přidávám uživatele s názvem 'sk'
do sudo
skupiny pomocí následujícího příkazu:
adduser sk sudo

Krok 4: Poté zadejte exit pro návrat zpět do nabídky obnovy. Vyberte možnost Obnovit ke spuštění systému Ubuntu.

Stiskněte ENTER pro pokračování v přihlášení do normálního režimu:

Krok 5: Nyní zkontrolujte, zda byla obnovena oprávnění sudo.
Chcete-li tak učinit, zadejte následující příkaz z Terminálu.
$ sudo -l -U sk
Ukázkový výstup:
[sudo] password for sk: Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Jak vidíte ve výše uvedené zprávě, uživatel sk nyní může spouštět všechny příkazy s předponou sudo. Gratulujeme! Úspěšně jste uživateli obnovili oprávnění sudo.
Existují také další možnosti, jak způsobit nefunkční sudo
Uvědomte si prosím, že jsem to ve skutečnosti udělal záměrně, abych vám ukázal, jak obnovit porušená práva sudo uživateli. Odebral jsem se z sudo
group a opravil porušená práva sudo, jak je popsáno výše.
Nedělejte to, pokud máte pouze jednoho uživatele sudo. A tato metoda bude fungovat pouze na systémech, ke kterým máte fyzický přístup . Pokud se jedná o vzdálený server nebo vps, je velmi obtížné to opravit. Možná budete potřebovat pomoc poskytovatele hostingu.
Existují také dvě další možnosti, jak způsobit nefunkční sudo.
/etc/sudoers
soubor mohl být změněn.- Vy nebo někdo jiný jste možná změnili oprávnění
/etc/sudoers
soubor.
Oprava nefunkčního sudo v Ubuntu
Pokud jste provedli jednu nebo všechny výše uvedené věci a skončili jste s nefunkčním sudem, vyzkoušejte následující řešení.
Řešení 1:
Pokud jste změnili obsah /etc/sudoers
přejděte do režimu obnovení, jak bylo popsáno výše.
Zálohujte stávající /etc/sudoers
před provedením jakýchkoli změn.
cp /etc/sudoers /etc/sudoers.bak
Poté otevřete /etc/sudoers
soubor:
visudo
Proveďte změny v souboru, aby vypadal takto:
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
Jakmile upravíte obsah tak, aby odpovídal tomuto, stiskněte CTRL+X
a y
uložte a zavřete soubor.
Nakonec zadejte exit
a vyberte možnost Obnovit ke spuštění systému Ubuntu, ukončete režim obnovy a pokračujte v zavádění jako normální uživatel.
Nyní zkuste použít příkaz spustit jakýkoli příkaz s předponou sudo k ověření, zda jsou oprávnění sudo obnovena.
Řešení 2:
Pokud jste změnili oprávnění /etc/sudoers
soubor, tato metoda opraví nefunkční sudo problém.
Z režimu obnovy spusťte následující příkaz a nastavte správné oprávnění na /etc/sudoers
soubor:
chmod 0440 /etc/sudoers
Jakmile nastavíte správná oprávnění k souboru, zadejte exit
a vyberte možnost Obnovit ke spuštění systému Ubuntu v normálním režimu. Nakonec ověřte, zda můžete spustit jakýkoli příkaz sudo.
Závěr
V této příručce jsme se podívali na to, co způsobuje nefunkční sudo a jak obnovit oprávnění sudo uživateli z režimu obnovení v Ubuntu a jeho derivátech.
Doporučené čtení:
- Jak změnit výchozí soubor protokolu sudo v systému Linux
- Jak najít všechny uživatele Sudo ve vašem systému Linux
- Jak spouštět konkrétní příkazy bez hesla Sudo v systému Linux