logo

Linuxové sudo

Úvod

Příkaz sudo pro Linux znamená Super User Do . Obecně se používá jako předpona několika příkazů, které může superuživatel provádět.

Pokud před příkazem přidáme předponu spolu s dalšími příkazy, provede by tento příkaz s vysokými oprávněními. Jinými slovy, umožní uživateli spolu se správnou autorizací jíst příkaz jako ostatní uživatelé, jako je superuživatel.

Rovná se opci 'spustit jako administrátor' ve Windows. Možnost sudo nám umožňuje mít více než jednoho správce. Uživatelé, kteří mohou použít příkaz sudo, vyžadují, aby byl záznam v souboru sudoers umístěn na '/etc/sudoers/' .

Poznámka: Pro zobrazení nebo úpravu souboru musíme použít příkaz sudo. Pro úpravu souboru se doporučuje použít příkaz 'visudo'.

Příkaz sudo ve výchozím nastavení vyžaduje, aby se uživatelé ověřili spolu s heslem, které je heslem uživatele, nikoli samotným heslem uživatele root.

Syntaxe příkazu sudo

Syntaxe příkazu sudo je uvedena níže:

 sudo OPTION... COMMAND 

Možnost v příkazu sudo

Některé z důležitých možností v příkazu sudo jsou vysvětleny níže:

1. -V: Znamená verze . Tato volba povolí příkaz sudo pro tisk čísla verze a ukončení. Volba -V by vytiskla výchozí nastavení sudo list pause byla pozorována, pokud žádající uživatel je již root.

Linuxové sudo

2. -l: Znamená seznam . Tato volba pomůže vytisknout různé příkazy povolené uživateli na aktuálním hostiteli.

Ukazuje, že aktuální uživatel mohl použít každý příkaz jako sudo.

co je zvláštní postava
Linuxové sudo

3. -h nebo -help: H znamená Pomoc v této možnosti. Tato volba povolí příkaz sudo pro tisk zprávy o použití a ukončení.

Linuxové sudo

4. -v: Znamená ověřit . Pokud by příkaz sudo aktualizoval časové razítko uživatele, ověření v případě potřeby vyzve uživatele k zadání hesla. Prodlouží časový limit příkazu sudo o dalších 5 minut, ale příkaz neprovede. Neposkytuje žádný výsledek.

5. -k: Znamená zabít . Tato volba zneplatní časové razítko uživatele sudo. Proto při příštím spuštění příkazu sudo bude vyžadováno heslo. Volba -k nepotřebuje žádné heslo a byla zahrnuta, aby umožnila uživatelům zrušit oprávnění příkazu sudo prostřednictvím .odhlásit se soubor.

6. -b: Znamená Pozadí . Tato možnost informuje příkaz sudo, aby provedl poskytnuté příkazy na pozadí.

Poznámka: Pokud použijeme tuto volbu, nemůžeme použít ovládání úlohy shellu pro manipulaci s procesem.

Linuxové sudo

7.-K: Tato volba je stejná jako volba -k. Nicméně stojí za určitě zabít . Tato možnost se použije pro úplné odstranění časového razítka uživatele. Stejně tak nepotřebuje žádné heslo.

8. -p: Znamená výzva . Tato možnost nám umožňuje přepsat výzvu k zadání hesla (výchozí) a použít vlastní heslo. Je povoleno několik procent úniků, které jsou následující:

  • %u je vyvinuto na přihlašovací jméno volajícího uživatele.
  • %U je vyvinuto na přihlašovací jméno uživatele
  • %h je vyvinuto na název hostitele (místní) bez jakéhokoli názvu domény.
  • %H je vyvinuto pro název hostitele (místní) s názvem domény (pouze v případě, že je název hostitele počítače zcela kvalifikovaný)
  • %% (dva po sobě jdoucí znaky) lze rozdělit na samostatný znak %.
Linuxové sudo

9. -n: Tato volba spustí příkaz bez požadavku na heslo. Je velmi užitečné, pokud chceme provést několik příkazů jako úlohy na pozadí (nebo uvnitř skriptu shellu), kde nechceme, aby se příkaz sudo dotázal na heslo. Tato možnost je zkratka pro neinteraktivní.

c++ rozdělení řetězce

10. -in: Znamená uživatel . Tato volba umožňuje příkazu sudo provádět popsané příkazy jiným uživatelem než root. Pro upřesnění a uid místo uživatelského jména můžeme použít #uid .

11. -H: Znamená DOMOV . Tato možnost může nastavit a Proměnná prostředí HOME do našeho domovský adresář uživatele root, jak je popsáno v souboru passwd. Příkaz sudo ve výchozím nastavení nemění HOME.

12. -s: To znamená skořápka . Tato volba spustí shell popsaný prostřednictvím a Proměnná prostředí SHELL když je jeho sada nebo tento shell, jak je popsáno uvnitř passwd soubor.

13. -S: Znamená stdin . Tato volba povoluje příkaz sudo pro čtení hesla standardním vstupem, nikoli terminálovým zařízením.

14. -: Tato volba ukazuje, že příkaz sudo musí zastavit zpracování argumentů příkazového řádku. Nejužitečnější je ve spojení s parametrem -s.

15. -a: Znamená typ ověření . Tato volba povoluje příkaz sudo pro použití popsaného typu autentizace při ověřování uživatele, jak to povoluje /etc/login/.config .

Správce systému může popsat seznam metod specifické autentizace sudo zahrnutím 'auto-sudo' vstup dovnitř /etc/login/.config .

Linuxové sudo

Proměnné prostředí v příkazu sudo

Níže jsou uvedeny některé z proměnných prostředí, které jsou aplikovány příkazem sudo:

vytvořit sh skript spustitelný
Ano ne. Štítek Popis
1. EDITOR Je to výchozí editor, který lze použít v režimu -e (sudoedit), když není fixní VISUAL.
2. DOMOV Nastaví se na homedir uživatele (cíl) v režimu -H nebo -s (nebo když byl příkaz sudo vytvořen s volbou, tj. -enable-shell-sets-home).
3. CESTA Nastaví se na rozumnou hodnotu, když je pevně nastavena možnost, tj. secure_path sudoers.
4. SHELL Může být použit pro určení shellu, který se má spustit s volbou -s.
5. SUDO_COMMAND Nastaví se na příkaz spuštěný příkazem sudo.
6. SUDO_PROMPT Lze jej použít jako výzvu k zadání hesla (výchozí).
7. SUDO_USER Nastaví přihlášení uživatele, který požaduje příkaz sudo.
8. SUDO_UID Nastaví uid uživatele, který požaduje příkaz sudo.
9. SUDO_GID Nastaví se na gid uživatele, který požaduje příkaz sudo.
10. JIH_PS1 PS1 by byl pevně nastaven na svou hodnotu, pokud by byla nastavena.
jedenáct. UŽIVATEL Nastaví se na uživatele (root, pokud není popsána volba, tj. -u).
12. VIZUÁLNÍ Je to výchozí editor a používá se uvnitř režimu -e (sudoedit).

Historie příkazu sudo

Cliff Spencer a Robert Coggeshall napsali skutečný subsystém v roce 1980 v SUNY/Buffalo na katedře informatiky. Robert Coggeshall nesl sudo na University of Colorado Boulder s sebou. Funkce a kód byly podstatně změněny členy IT z College of Engineering a University Of Colorado Boulder Computer Science Department a aplikované vědy s Toddem C. Millerem v letech 1986-1993.

Veřejně je nejnovější verze spravována od roku 1994 Toddem .C Millerem (vývojář OpenBSD) a je sdílena od roku 1999 na základě licence ve stylu ISC.

Thomas Claburn charakterizoval takové nejistoty jako přehnané v listopadu 2009 v reakci na věc, že ​​Microsoft měl výsadní sudo. Přesněji řečeno, nároky byly zarámovány do specifického GUI namísto přístupu sudo.

Návrh příkazu sudo

Uživatelé mohou v případě potřeby zadat své heslo do sudo namísto superuživatele, na rozdíl od příkazu su. Umožňuje přístupným uživatelům uplatňovat kvalifikovaná oprávnění, aniž by se zabývalo utajením hesla druhého účtu.

  • Když konfigurační soubor umožňuje uživateli přístup, po autentizaci si systém vyžádá nárokovaný příkaz.
  • Příkaz sudo si ponechal práva na vyvolání uživatele s odkladem (obvykle 5 minut) na pseudoterminál a umožňuje uživateli provádět různé po sobě jdoucí příkazy jako nárokovaný uživatel, aniž by musel znovu zadávat jakékoli heslo.
  • Příkaz sudo může být nakonfigurován pro protokolování každého spuštěného příkazu jako funkce auditování a zabezpečení.
  • V době, kdy uživatel střílí pro vyvolání příkazu sudo, aniž by byl uveden v konfiguračním souboru, je tomuto uživateli předložena ilustrace výjimky sdělující, že záběr byl zaznamenán.
  • Záznam by byl uložen v systému a uživatel root by byl informován e-mailem.

Konfigurace příkazu sudo

The /etc/sudoers soubor obsahuje skupiny uživatelů nebo seznam uživatelů s oprávněním spouštět sadu příkazů, přičemž obsahuje práva uživatele root nebo jiného uvedeného uživatele. Program může být nakonfigurován tak, aby vyžadoval heslo.

Dopad příkazu sudo

V několika systémových distribucích nahradil příkaz sudo použití (výchozí) jiného přihlášení superuživatele pro různé administrativní operace, především v několika distribucích Apple MacOS a Linux.

Zabraňuje několika zneužitím a také umožňuje více chráněné protokolování příkazů správce.

RBAC

Příkaz sudo lze použít pro přechod mezi různými typy rolí v rámci řízení přístupu založeného na rolích ve spolupráci se SELinuxem.

Podobné programy a nástroje

visudo je nástroj příkazového řádku, který umožňuje upravovat konfigurační soubor sudo způsobem bezpečným při selhání. Provádí kontroly syntaxe a zdravého rozumu a také zabraňuje více než jedné současné úpravě spolu se zámky.

Program runas umožňuje stejný výkon v Microsoft Windows; nemůže však předat aktuální dlouhé příkazové řádky potomkovi, proměnným prostředí nebo adresářům.

Nepodporuje obecnou elevaci, zatímco pomáhá spustit dítě jako jakýkoli jiný uživatel. U oken se přidávají skutečné sudo a su, které mohou přenést každý z těchto podrobností o stavu a začít dítě jako jiný uživatel nebo zvýšené Skořápka Hamilton C .

seznam v Javě

GUI je k dispozici pro sudo ( gksudo zejména), ale v Debianu je zastaralá a také již ne v Ubuntu. Různé další typy uživatelských rozhraní nejsou navrženy přímo pro sudo, ale usnadňují stejné zvýšení oprávnění (dočasné) pro administrativní cíle, jako je Autorizační služby Mac OS X, Řízení uživatelských účtů v Microsoft Windows , a pkexec v operačních systémech podobných Unixu .

Od verze 5.8 OpenBSD (říjen 2015), darovat je k dispozici. Bylo specifikováno, že má nahradit příkaz sudo v základním systému OpenBSD.

jeho vs. sudo

Pokud jsme zvyklí na klasičtější linuxové nastavení, pak jsme zvyklí používat příkaz su pro získání práv roota. Můžeme také zadat příkaz su pro efektivní přihlášení jako root (domov roota se stane naším domovem).

Pomocí těchto druhů distribucí se můžeme přihlásit také jako uživatel trasy. Není však dobrý nápad přihlásit se jako uživatel root. Pokud aplikujeme distribuci, která závisí na příkazu su a povoluje přihlášení uživatele root, pak se přihlaste jako náš standardní uživatel a příkaz su jako uživatel root.

S největší pravděpodobností si všimneme, že se nemůžeme přihlásit jako uživatel root pomocí distribucí založených na sudo. Ve skutečnosti byl v některých distribucích, jako je Ubuntu, účet uživatele root zakázán.

Nemůžeme se přihlásit jako uživatel root a pomocí příkazu su se stát uživatelem root. Mohli bychom udělat tyto příkazy pomocí příkazu sudo pro získání administrátorských oprávnění.

faktoriální java

Použití příkazu sudo

Existují dva různé způsoby, jak spouštět administrativní aplikace v Linuxu. Buď můžeme změnit superuživatele nebo uživatele root pomocí příkazu su nebo můžeme využít příkaz sudo.

Když využíváme čas na terminálu, sudo je jedním z důležitých příkazů, které budeme poměrně často používat. Použití příkazu sudo namísto přihlašování jako uživatel root je lépe chráněno, protože jednomu uživateli můžeme udělit pouze několik administrátorských oprávnění bez jeho znalosti hesla uživatele root.

Jak to implementujeme, závisí na tom, jaké distro používáme. Několik distribucí umožňuje uživateli root (např OpenSUSE, Red Hat nebo Fedora ), zatímco někteří ne (jako Debian a Ubuntu ).

Použití příkazu sudo je ve své velmi základní podobě jednoduché. Například musíme spustit dpkg pro instalaci softwarové části. Pokud jen spustíme dpkg -i software.deb příkaz jako standardní uživatel dostaneme chybovou zprávu, že uživatel nemá oprávnění ke spuštění příkazu.

To je důvod, proč ve výchozím nastavení standardní uživatelé nemohou instalovat různé aplikace přes počítač se systémem Linux. Pokud chceme nainstalovat jakoukoli aplikaci na stroj Linux, musíme mít práva superuživatele.

Místo toho spustíme sudo dpkg -i software.deb příkaz, abychom mohli instalaci úspěšně provést.

Instalace příkazu sudo

Balíček příkazu sudo je předinstalován ve většině distribucí Linuxu. Chcete-li potvrdit, že je balíček nainstalován v našem systému, je třeba provést následující kroky:

  • Nejprve otevřete náš terminál.
  • Zadejte sudo a klikněte na tlačítko Enter.
  • Pokud máme v systému nainstalovaný balíček sudo, zobrazí se krátká zpráva.
  • V opačném případě vás upozorníme zprávou, tedy příkaz sudo nenalezen.
  • Pokud balíček není nainstalován, můžeme tento balíček snadno nainstalovat použitím správce balíčků nadměrné distribuce.

Nainstalujte Sudo na Fedoru a CentOS

 $ yum install sudo 

Nainstalujte Sudo na Debian a Ubuntu

 $ apt install sudo 

Linuxové sudo

Příkaz pro aktualizaci sudo

Linuxové sudo