4Aug

Jaký je rozdíl mezi Sudo a Su v Linuxu?

click fraud protection

Pokud jste uživatel Linuxu, pravděpodobně jste viděli odkazy na sudo a su.Články o tom, jak na to Geek a jinde poučují uživatele Ubuntu, aby používali sudo a ostatní distributory Linuxových distribucí k použití su, ale jaký je rozdíl?

Sudo a su jsou dva různé způsoby získání oprávnění root. Každý z nich funguje jiným způsobem a různé distribuce Linuxu používají ve výchozím nastavení různé konfigurace.

Kořenový uživatel

Jak su, tak sudo se používají ke spouštění příkazů s kořenovými oprávněními. Uživatel root je v zásadě ekvivalentní uživateli správce v systému Windows - uživatel root má maximální oprávnění a může do systému něco udělat. Normální uživatelé v systému Linux pracují se sníženými oprávněními - například nemají možnost instalovat software nebo zapisovat do systémových adresářů.

Chcete-li provést něco, co vyžaduje tato oprávnění, musíte je získat pomocí su nebo sudo.

Su vs. Sudo

Příkaz su se přepne na super uživatele - nebo uživatele root - když jej provedete bez dalších možností.Budete muset zadat heslo účtu root. Nejedná se však o vše o příkaz su, ale můžete jej použít k přepnutí na libovolný uživatelský účet. Pokud spustíte příkaz

instagram viewer
su bob , budete vyzváni k zadání hesla Bob a shell se přepne na uživatelovský účet společnosti Bob.

Jakmile dokončíte spouštění příkazů v kořenovém shellu, měli byste zadejte exit opustit kořenový shell a vrátit se do režimu s omezenými oprávněními.

Sudo spouští jeden příkaz s oprávněním uživatele root. Při spuštění příkazu sudo systém vás vyzve k zadání hesla aktuálního uživatelského účtu před spuštěním příkazu jako kořenového uživatele. Ve výchozím nastavení si Ubuntu pamatuje heslo po dobu patnácti minut a znovu nepožádá o heslo, dokud neuplyne patnáct minut.

Toto je hlavní rozdíl mezi su a sudo. Ne vás přepne na kořenový uživatelský účet a vyžaduje heslo kořenového účtu. Sudo spouští jeden příkaz s oprávněním uživatele root - nepřepíná uživatele root nebo nevyžaduje samostatné heslo uživatele root.

Ubuntu vs. ostatní distribuce Linuxu

Příkaz su je tradiční způsob získání oprávnění root na Linuxu. Příkaz sudo existuje již dlouhou dobu, ale Ubuntu byla jako první populární linuxová distribuce ve výchozím nastavení převedena na sudo. Při instalaci Ubuntu je vytvořen standardní kořenový účet, ale žádné heslo není přiřazeno. Nemůžete se přihlásit jako root, dokud přiřadíte heslo kořenovému účtu.

Existuje několik výhod použití sudo namísto su ve výchozím nastavení.Uživatelé Ubuntu musí pouze poskytovat a zapamatovat si jedno heslo, zatímco Fedora a další distribuce vyžadují, abyste během instalace vytvořili oddělené hesla pro root a uživatelské účty.

Další výhodou je to, že odrazuje uživatele od přihlášení jako uživatel root - nebo pomocí su získat kořenový shell - a udržet kořenový shell otevřený pro jejich normální práci. Spouštění méně příkazů jako root zvyšuje zabezpečení a zabraňuje náhodným změnám v systému.

Distribuce založené na Ubuntu, včetně Linux Mint, také ve výchozím nastavení používají sudo místo su.

Několik triků

Linux je flexibilní, takže není příliš náročné na to, aby su pracoval podobně jako sudo - nebo naopak.

Chcete-li spustit jeden příkaz jako kořenový uživatel s su, spusťte následující příkaz:

su -c 'příkaz'

Toto je podobné spuštění příkazu s sudo, ale místo aktuálního uživatele budete potřebovat heslo kořenového účtuheslo účtu.

Chcete-li získat kompletní, interaktivní kořenový shell s sudo, spusťte sudo -i.

Místo hesla kořenového účtu budete muset zadat heslo aktuálního uživatelského účtu.

Povolení kořenového uživatele v Ubuntu

Chcete-li povolit uživatelský účet uživatele root v Ubuntu, použijte následující příkaz pro nastavení hesla. Mějte na paměti, že Ubuntu to doporučuje.

sudo passwd root

Sudo vás před nastavením nového hesla vyzve k zadání hesla vašeho aktuálního uživatelského účtu. Pomocí nového hesla se přihlaste jako root z příkazu pro přihlášení k terminálu nebo pomocí příkazu su. Nikdy byste neměli užívat úplné grafické prostředí jako kořenový uživatel - je to velmi špatná bezpečnostní praxe a mnoho programů odmítne pracovat.

Přidávání uživatelů do souboru Sudoers

Pouze účty typu administrátora v Ubuntu mohou spustit příkazy se sudo. V okně Konfigurace uživatelských účtů můžete změnit typ uživatelského účtu.

Ubuntu automaticky označuje uživatelský účet vytvořený během instalace jako účet správce.

Pokud používáte jinou distribuci Linuxu, můžete udělit uživateli oprávnění používat sudo spuštěním příkazu visudo s oprávněním uživatele root( tak spusťte nejdříve nebo nebo použijte su -c ).

Do souboru vložte následující řádek a nahraďte uživatele se jménem uživatelského účtu:

user ALL =( ALL: ALL) ALL

Stisknutím klávesy Ctrl-X a Y uložte soubor. Můžete také přidat uživatele do skupiny zadané v souboru. Uživatelé ve skupinách uvedených v souboru budou mít automaticky oprávnění sudo.

Grafické verze Su

Linux také podporuje grafické verze su, které vyžadují heslo v grafickém prostředí.Například můžete spustit následující příkaz, abyste dostali výzvu k zadání grafického hesla a spustili prohlížeč souborů Nautilus s oprávněním root. Stisknutím klávesy Alt-F2 spustíte příkaz z grafického spouštěcího dialogu bez spuštění terminálu.

gksu nautilus

Příkaz gksu má také několik dalších triků, které jsou uloženy v rukávu - zachovává aktuální nastavení vašeho desktopu, takže grafické programy se při spuštění jako odlišný uživatel nebudou vypadat mimo místo. Programy, jako je gksu, jsou preferovaným způsobem spuštění grafických aplikací s oprávněním uživatele root.

Gksu používá backend založený na su nebo sudo v závislosti na distribuci Linuxu, kterou používáte.

Nyní byste měli být připraveni se setkat jak se, tak sudo! Budete se setkávat s oběma, pokud používáte jiné distribuce Linuxu.