Vyhledávání na webu

Oprava „Uživatelské jméno není v souboru Sudoers. Tento incident bude nahlášen


V systémech Unix/Linux je uživatelský účet root superuživatelským účtem a lze jej tedy použít k provádění čehokoli a všeho, co je v systému dosažitelné.

To však může být v mnoha ohledech velmi nebezpečné – jedním by mohlo být, že uživatel root mohl zadat nesprávný příkaz a narušit celý systém nebo by útočník mohl získat přístup k účtu uživatele root a převzít kontrolu. celého systému a kdo ví, co umí.

Na základě tohoto pozadí je v Ubuntu a derivátech Ubuntu uživatelský účet root ve výchozím nastavení uzamčen, běžní uživatelé (správci systému nebo ne) mohou získat oprávnění superuživatele pouze pomocí příkaz sudo.

A jedna z nejhorších věcí, která se může stát správci systému Ubuntu, je ztráta oprávnění používat příkaz sudo, což je situace běžně označovaná jako „rozbité sudo“. To může být naprosto zničující.

Nefunkční sudo může být způsobeno některou z následujících příčin:

  • Uživatel by neměl být odebrán ze skupiny sudo nebo admin.
  • Soubor /etc/sudoers byl změněn, aby uživatelé ve skupině sudo nebo admin nemohli povýšit svá oprávnění na oprávnění root< pomocí příkazu sudo.
  • Oprávnění k souboru /etc/sudoers není nastaveno na 0440.

Abyste mohli na svém systému provádět zásadní úkoly, jako je prohlížení nebo změna důležitých systémových souborů nebo aktualizace systému, potřebujete příkaz sudo k získání oprávnění superuživatele. Co když vám bude odepřeno použití sudo z jednoho nebo více důvodů, které jsme uvedli výše.

Níže je obrázek znázorňující případ, kdy je uživateli výchozího systému zabráněno spustit příkaz sudo:

tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Jak opravit Broken sudo Command v Ubuntu

Pokud na svém počítači používáte pouze Ubuntu, po jeho zapnutí stiskněte na několik sekund klávesu Shift, čímž spustíte Grub Jídelní lístek. Na druhou stranu, pokud používáte dual-boot (Ubuntu vedle Windows nebo Mac OS X), měli byste ve výchozím nastavení vidět spouštěcí nabídku Grub.

Pomocí šipky dolů vyberte „Pokročilé možnosti pro Ubuntu“ a stiskněte Enter.

Budete v rozhraní níže, vyberte jádro s možností „recovery mode “, jak je uvedeno níže, a stisknutím Enter přejděte do „nabídky Recovery > “.

Níže je „Nabídka obnovení“, která označuje, že kořenový souborový systém je připojen jako pouze pro čtení. Přejděte na řádek „root Drop to root shell prompt“ a stiskněte Enter.

Poté stiskněte Enter pro údržbu:

V tomto okamžiku byste měli být u příkazového řádku kořenového shellu. Jak jsme viděli dříve, souborový systém je připojen jako pouze pro čtení, a proto, abychom mohli provést změny v systému, který musíme znovu připojit, je jako čtení/zápis spuštěním příkazu níže:

mount -o rw,remount /

Řešení případu #1 – Přidejte uživatele do skupiny sudo nebo admin

Za předpokladu, že byl uživatel odebrán ze skupiny sudo, pro přidání uživatele zpět do skupiny sudo zadejte příkaz níže:

adduser username sudo

Poznámka: Nezapomeňte použít skutečné uživatelské jméno v systému, v mém případě je to aaronkilik.

Nebo pod podmínkou, že uživatel byl odebrán ze skupiny administrátorů, spusťte následující příkaz:

adduser username admin

Řešení případu č. 2 – Udělení práv sudo uživatelům

Za předpokladu, že soubor /etc/sudoers byl změněn, aby zabránil uživatelům ve skupině sudo nebo admin povýšit svá oprávnění na super uživatel, poté proveďte zálohu souborů sudoers následovně:

cp /etc/sudoers /etc/sudoers.orginal

Následně otevřete soubor sudoers.

visudo

a přidejte obsah níže:

#
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/sbi$

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

Řešení případu č. 3 – Nastavení správného oprávnění pro soubor sudoers

Předpokládejme, že oprávnění k souboru /etc/sudoers není nastaveno na 0440, pak spusťte následující příkaz, abyste to napravili:

chmod  0440  /etc/sudoers

V neposlední řadě po spuštění všech potřebných příkazů zadejte příkaz exit a vraťte se do „nabídky obnovení “:

exit 

Pomocí šipky doprava vyberte a stiskněte Enter:

Stisknutím pokračujte v normální zaváděcí sekvenci:

souhrn

Tato metoda by měla fungovat dobře, zejména pokud se jedná o administrativní uživatelský účet, kde není jiná možnost než použít režim obnovení.

Pokud však pro vás selže, zkuste se k nám vrátit tím, že vyjádříte své zkušenosti prostřednictvím sekce zpětné vazby níže. Můžete také nabídnout jakékoli návrhy nebo jiné možné způsoby, jak vyřešit daný problém nebo tuto příručku celkově vylepšit.