Zvažte výše uvedený komiks z vynikajícího komiksu XKCD. Líný člověk v křesle chce, aby jim jejich přítel udělal sendvič, ale chybí jim autorita, aby je donutili to udělat. To znamená, dokud nevyvolá mocný příkaz sudo. Poté bude sendvič vyroben tak či onak.
Zatímco vyzkoušení sudo na člověku v reálném životě pravděpodobně nebude tak efektivní, je to magický příkaz, který překoná všechny překážky ve světě Linuxu. Co je sudo? Proč vůbec existuje? Odpověď spočívá v tom, jak Linux zpracovává oprávnění.
Porozumění uživatelským oprávněním Linuxu
Linux je považován za zabezpečený operační systém kvůli tomu, jak zachází s oprávněními. Zatímco operační systémy jako macOS (které sdílely předka s Linuxem) a Windows jsou nyní v tomto ohledu spíše podobné Linuxu, operační systém Open Source je stále poněkud jedinečný.
Porozumění tomu, jak Linux zpracovává oprávnění, z něj dělá mnohem snazší dostat hlavu kolem příkazu sudo. Všechny moderní operační systémy mají úroveň uživatelských oprávnění „správce“ nebo „root“. Pokud máte účet správce nebo root, můžete změnit jakékoli nastavení, smazat všechna data a s počítačem obecně dělat, co chcete.
To zahrnuje věci, které byste pravděpodobně neměli dělat, což může vést ke ztrátě dat nebo potřebě úplného vymazání a opětovné instalace.
Linux ne Výchozí oprávnění uživatele na úrovni root nebude. Místo toho se váš účet nemůže dostat do skutečně citlivých částí systému bez zvýšení úrovně oprávnění. To znamená, že vás systém požádá o zadání hesla správce, pokud chcete provést něco neobvyklého pomocí grafického rozhraní.
Pokud však chcete použít příkazový řádek Terminál, sudo je nejbezpečnější a nejefektivnější způsob, jak to zvládnout.
Sudo a terminál
Existují dva způsoby, jak si v Linuxu udělit zvýšená oprávnění. Jedním z nich je trvalé přihlášení jako uživatel root. Problém je v tom, že kdokoli jiný, kdo má přístup k počítači, může způsobit katastrofu, a dokonce to můžete udělat i vy. Sudo zvyšuje vaše oprávnění pouze na krátkou dobu, aby provedl konkrétní příkazy, které jej následují.
Sudo Syntax
Syntaxe Sudo (formát příkazu) je jednoduchá. Jednoduše zadejte „sudo“ následovaný příkazem, který chcete provést.
Například „sudo apt-get update“ aktualizuje všechna úložiště aplikací uvedená v příslušných soubor. Pokud jste se pokusili spustit bez sudo, zobrazí se chybová zpráva s oznámením, že nemáte oprávnění. Mimochodem, toto je obecně první příkaz sudo, který budete chtít spustit po nové instalaci vaší oblíbené distribuce Linuxu.
„Su“ v Sudo
„Su“ v sudo je zkratka pro „superuser“ a je to samostatný příkaz. Příkaz „su“ umožňuje změnit, na která oprávnění uživatele vás sudo povýší.
Ačkoli vás sudo dočasně povýší na root, su vás změní na jiného uživatele s vhodnými oprávněními. To se může zdát jako nedůležitý rozdíl, ale existují dobré důvody pro změnu účtu, na který sudo povýší uživatele.
Nejprve změna účtu znamená, že běžní uživatelé neznají heslo root. Zadruhé, existuje protokol všech příkazů sudo, což znamená, že správce systému (root) může vyhledat, kdo vydal příkazy su.
Syntaxe su je v podstatě stejná jako sudo:
Su USERNAME -c COMMAND
Nahraďte USERNAME požadovaným uživatelem pro spuštění příkazu a COMMAND příkazem Linux, který chcete spustit.
Pokud chcete-li spustit více příkazů jako jiný uživatel, jednoduše použijte:
Su USER
Nahraďte USER požadovanou identitou uživatelského účtu.
Pokud používáte su samostatně, přepne se Linux na jiný uživatelský účet, dokud nepoužijete příkaz „exit“. Je důležité si pamatovat, že tento nebo další uživatel, který v dané relaci přistupuje k terminálu, bude mít stále zvýšená oprávnění. Proto je obecně lepší použít sudo než su.
Sudo Time Limit
Při prvním použití příkazu sudo Budu muset zadat heslo. Poté toto heslo zůstane v platnosti po dobu 15 minut. Toto výchozí nastavení můžete změnit spuštěním příkazu sudo visudoa změnou hodnoty „timestamp_timeout =“ na delší nebo kratší hodnotu. Nedoporučujeme vám to však dělat, pokud nemáte dobrý důvod prodloužit nebo zkrátit dobu platnosti hesla sudo.
Přepínače sudo
Ačkoli je syntaxe sudo jednoduché, několik přepínačů stojí za to vědět. Tyto příkazy otevírají další informace nebo vám pomáhají ovládat relaci sudo:
Do sudo je zabudováno mnohem více možností a všechny je můžete vidět pomocí výše uvedeného prvního přepínače -h.
Výsledkem je výše uvedený snímek obrazovky při použití možnost nápovědy.
Užitečné příkazy Sudo
Jaké příkazy zmocněné sudo by tedy měl znát každý uživatel Linuxu? Aktualizaci sudo apt-get jsme již pokryli, ale také si ji všimněte:
Jedná se pravděpodobně o první příkazy sudo, které budete muset použít, ale jak jste se dozvěděli výše, každý příkaz může sledovat sudo, ale měli byste používat pouze ty, které s ním vyžadují vyšší oprávnění.