logo

Příkaz sudo v Linuxu s příklady

sudo ( S horní V být DĚLAT ) příkaz v Linuxu se obecně používá jako předpona pro některé příkazy, které mohou spouštět pouze superuživatelé. Pokud před libovolný příkaz přidáte sudo, spustí se tento příkaz se zvýšenými oprávněními nebo jinými slovy umožní uživateli se správnými oprávněními provést příkaz jako jiný uživatel, například superuživatel. Toto je ekvivalent možnosti spuštění jako správce ve Windows. Možnost sudo nám umožňuje mít více správců.

Tito uživatelé, kteří mohou používat sudo příkaz musí mít záznam v sudoři soubor umístěný na /etc/sudoers . Pamatujte, že pro úpravu nebo zobrazení souboru sudoers musíte použít příkaz sudo. Pro úpravu souboru sudoers se doporučuje použít příkaz visudo.



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

Syntaxe příkazu sudo:

  sudo     -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] |      [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ]      [ -u username|#uid ]     command>

Možnosti Dostupné v příkazu sudo

Možnosti Popis Syntax
-V Volba -V (verze) způsobí, že sudo vytiskne číslo verze a skončí. Pokud je volající uživatel již root, volba -V vytiskne seznam výchozích hodnot, se kterými bylo sudo zkompilováno.
  sudo -V>
-l Volba -l (seznam) vytiskne příkazy povolené (a zakázané) uživatele na aktuálním hostiteli.
  sudo -l>
-h nebo -help Volba -h (help) způsobí, že sudo vytiskne zprávu o použití a skončí.
  sudo -h>
-v Pokud zadáte volbu -v (validate), sudo aktualizuje časové razítko uživatele a v případě potřeby vyzve uživatele k zadání hesla. Tím se prodlouží časový limit sudo o dalších 5 minut (nebo jak je uvedeno v sudoers), ale nespustí se příkaz. To nedává žádný výstup.
  sudo -v>
-k Volba -k (kill) pro sudo zneplatní časové razítko uživatele. Takže při příštím spuštění sudo bude vyžadováno heslo. Tato možnost nevyžaduje heslo a byla přidána, aby umožnila uživateli zrušit oprávnění sudo z odhlašovacího souboru.
  sudo -k>
-K Podobně jako volba -k se volba -K (určité zabití) používá k úplnému odstranění časového razítka uživatele. Stejně tak tato možnost nevyžaduje heslo.
  sudo -K>
-b Volba -b (pozadí) říká sudo, aby spustilo daný příkaz na pozadí. Všimněte si, že pokud použijete volbu -b, nemůžete použít shell kontrola práce k manipulaci s procesem.
  sudo -b [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

-p příkaz sudo -p prompt vám umožňuje přizpůsobit výzvu k zadání hesla, kterou sudo zobrazí, když požaduje heslo uživatele. Ve výchozím nastavení sudo zobrazí výzvu k zadání obecného hesla, která vypadá jako
  sudo -p 'Enter your password' [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)



-n Volba -n umožňuje sudo provést příkaz bez výzvy k zadání hesla. Tato možnost je užitečná při spouštění příkazů sudo jako úloh na pozadí nebo ve skriptu shellu. Volba -n znamená neinteraktivní.
  sudo -n [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

-v Volba -u způsobí, že sudo spustí zadaný příkaz jako jiný uživatel než root. Chcete-li místo uživatelského jména zadat UID, použijte #uid.
  sudo -u [user] [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

-s Volba -s spustí shell určený proměnnou prostředí SHELL, pokud je nastaven, nebo shell, jak je uvedeno v souboru passwd.
  sudo -s [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)



rovná se metodě java
-H Volba -H nastaví proměnnou prostředí HOME na domovský adresář cílového uživatele (standardně root), jak je uvedeno v passwd. Ve výchozím nastavení sudo nemění HOME.
  sudo -H [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

-S Volba -S způsobí, že sudo načte heslo ze standardního vstupu místo z koncového zařízení.
  sudo -S [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

-A Volba -a způsobí, že sudo použije zadaný typ ověřování při ověřování uživatele, jak to umožňuje /etc/login.conf. Správce systému může specifikovat seznam autentizačních metod specifických pro sudo přidáním položky auth-sudo do /etc/login.conf.
  sudo -a [auth-type] [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

Příznak — znamená, že sudo by mělo přestat zpracovávat argumenty příkazového řádku. Nejužitečnější je ve spojení s parametrem -s.
  sudo -- [command]>

(nahraďte příkaz příkazem, který chcete spustit na pozadí)

Výstup několika příkazů

1. -V: Volba -V (verze) způsobí, že sudo vytiskne číslo verze a skončí. Pokud je volající uživatel již root, volba -V vytiskne seznam výchozích hodnot, se kterými bylo sudo zkompilováno.

sudo -V

'abc' je v číslech'

2. -l: Volba -l (seznam) vytiskne příkazy povolené (a zakázané) uživatele na aktuálním hostiteli.

sudo -l

3. -h nebo -help: Volba -h (help) způsobí, že sudo vytiskne zprávu o použití a skončí.

sudo -h

Proměnné prostředí

Tyto proměnné prostředí používá sudo

Štítek Popis
EDITOR
Výchozí editor pro použití v -To je (sudoedit) režim, pokud není nastavena VISUAL
DOMOV
v -s nebo -H režimu (nebo pokud bylo sudo nakonfigurováno pomocí
–enable-shell-sets-home option), nastavte na homedir cílového uživatele
CESTA
Nastavte na rozumnou hodnotu, pokud je bezpečná_cesta je nastavena možnost sudoers.
SHELL
Používá se k určení shellu pro spuštění s volbou -s
SUDO_PROMPT
Používá se jako výchozí výzva k zadání hesla
SUDO_COMMAND
Nastavte na příkaz spuštěný sudo
SUDO_USER
Nastavte na přihlašovací jméno uživatele, který sudo vyvolal
SUDO_UID
Nastavte na uid uživatele, který sudo vyvolal
SUDO_GID
Nastavte na gid uživatele, který sudo vyvolal
JIH_PS1
Pokud je nastaveno, PS1 bude nastaven na svou hodnotu
UŽIVATEL Nastavit na cílového uživatele (root, pokud není -v možnost je specifikována)
VIZUÁLNÍ
Výchozí editor pro použití -To je (sudoedit) režimu

Sudo Command v Linuxu – FAQ

Co je `sudo` v Linuxu?

Sudo je příkaz v Linuxu, který umožňuje uživatelům spouštět příkazy s oprávněními, která má pouze uživatel root. Pomáhá uživatelům provádět úkoly s výkonem správy bez přihlášení jako uživatel root, i když to někdy může být riskantní.

Které příkazy Linuxu potřebují oprávnění `sudo`?

Existuje mnoho linuxových příkazů, které jsou potřeba ke spuštění s právy sudo, jako jsou síťové příkazy, příkazy pro správu balíčků a příkazy na systémové úrovni. Například příkazy, které ke spuštění vyžadují oprávnění sudo, jsou `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` a `ifconfig`.

Co mohu spustit pomocí sudo?

Existuje mnoho příkazů Linuxu, které ke spuštění vyžadují oprávnění sudo, ale je třeba pamatovat na to, abyste je používali opatrně, protože mohou měnit důležité systémové konfigurace a soubory. Abychom se vyhnuli následkům, měli bychom před spuštěním příkazů zkontrolovat dvakrát. Příkazy jako:

  • Instalace nového balíčku: `sudo apt-get instalační název_balíčku`
  • Aktualizace systému: `aktualizace sudo apt-get && sudo apt-get upgrade`
  • Úprava konfigurace systému: `sudo nano /etc/fstab`
  • Spuštění systémové služby: `sudo systemctl start service_name`
  • Zastavení systémové služby: `sudo systemctl stop service_name`
  • Vytvoření nového uživatelského účtu: `sudo useradd uživatelské jméno`
  • Změna oprávnění souboru: `sudo chmod 755 název_souboru`

Jaký je rozdíl mezi příkazem su a sudo v Linuxu?

V Linuxu umožňuje příkaz su (přepnout uživatele) uživatelům přihlásit se jako jiný uživatel, často jako uživatel root, a získat přístup k jejich souborům a nastavením. Naproti tomu příkaz sudo umožňuje uživatelům spouštět určité příkazy se zvýšenými oprávněními bez přihlášení jako uživatel root. Sudo je bezpečnější způsob udělování dočasných práv root uživatelům.

Jak udělím a převezmu přístup uživatele sudo v Linuxu?

V Linuxu můžeme poskytnout nebo odebrat přístup `sudo` přidáním nebo odebráním uživatelského jména ze souboru s názvem `sudores`. Chcete-li přidat uživatelské jméno do sudoers, musíme spustit příkaz `sudo visudo` a upravit soubor a přidat řádek, který umožní uživateli přístup. Například: uživatelské jméno ALL=(ALL:ALL) ALL poskytuje uživateli úplný přístup k příkazu sudo.

A můžeme zakázat uživateli přístup sudo pomocí stejného příkazu sudo visudo, který bude použit k úpravě souboru sudoers a odstranění řádku, který jim umožňuje přístup sudo. Jakmile je řádek odstraněn, uživatel již nebude moci používat příkaz sudo ke spouštění privilegovaných příkazů.

Závěr

V Linuxu,sudo>příkaz funguje jako magický klíč, který odemyká speciální schopnosti a umožňuje vám dělat důležité úkoly, které obvykle může dělat pouze superuživatel. Je to způsob, jak požádat o povolení provádět příkazy se zvýšenými oprávněními, jako je instalace softwaru nebo změna nastavení systému. Používášsudo>před příkazem, který ukáže, že jej můžete spustit jako superuživatel. Použítsudo>, obvykle musíte zadat své vlastní heslo, abyste dokázali, že to děláte opravdu vy, a ne někdo jiný. Pamatovat si,sudo>je silný, tak ho používejte opatrně! Může změnit důležité věci na vašem počítači. Pochopenímsudo>a jeho možností, můžete Linux používat efektivněji a bezpečněji.