Úvod
Sudo znamená SuperUser DO a používá se pro přístup k omezeným souborům a operacím. Ve výchozím nastavení Linux omezuje přístup k určitým částem systému a brání tak ohrožení citlivých souborů.
sudo
příkaz dočasně zvyšuje oprávnění, která uživatelům umožňuje provádět citlivé úkoly bez přihlášení jako uživatel root. V tomto kurzu se na příkladech naučte, jak používat příkaz sudo v Linuxu.
Předpoklady
- Systém se systémem Linux
- Přístup do příkazového řádku/okna terminálu (Aktivity> Vyhledávání> Terminál)
- Uživatelský účet s
sudo
neboroot
privilegia
Jak používat příkaz sudo
sudo
byl vyvinut jako způsob, jak dočasně udělit uživateli administrátorská práva. Aby to fungovalo, použijte sudo
před omezeným příkazem. Systém vás vyzve k zadání hesla. Jakmile je poskytnut, systém spustí příkaz.
Syntaxe
Chcete-li začít používat sudo
, použijte následující syntaxi:
sudo [command]
Když sudo
je použito časové razítko do systémových protokolů. Uživatel může spouštět příkazy se zvýšenými oprávněními na krátkou dobu (výchozí 15 minut). Pokud se uživatel, který nepoužívá sudo, pokusí použít sudo
je zaprotokolován jako událost zabezpečení.
Možnosti
sudo
lze použít s dalšími možnostmi:
-h
- Pomoc; zobrazí možnosti syntaxe a příkazů-V
– verze; zobrazí aktuální verzi aplikace sudo-v
- ověřit; obnovte časový limit na sudo bez spuštění příkazu-l
– seznam; uvádí uživatelská oprávnění nebo kontroluje konkrétní příkaz-k
– zabít; ukončit aktuální oprávnění sudo
Další možnosti naleznete pod -h
možnost.
Udělování oprávnění sudo
U většiny moderních distribucí Linuxu musí být uživatel v sudo , sudoers, nebo kolečko skupinu použít sudo
příkaz. Ve výchozím nastavení systém pro jednoho uživatele uděluje svému uživateli oprávnění sudo. Systém nebo server s více uživatelskými účty může některé uživatele vyloučit z práv sudo.
Doporučujeme udělovat pouze oprávnění, která jsou pro uživatele nezbytně nutná k provádění každodenních úkolů.
Následující části vysvětlují, jak přidat uživatele do skupiny sudoers.
RedHat a CentOS
V Redhat/CentOS, kolečko skupinové ovládací prvky sudo uživatelů. Přidejte uživatele do skupiny kol pomocí následujícího příkazu:
usermod -aG wheel [username]
Nahraďte [username]
se skutečným uživatelským jménem. Možná se budete muset přihlásit jako správce nebo použít su
příkaz.
Debian a Ubuntu
V Debianu/Ubuntu, sudo skupina ovládá uživatele sudo. Přidejte uživatele do skupiny sudo pomocí následujícího příkazu:
usermod -aG sudo [username]
Nahraďte [username]
se skutečným uživatelským jménem. Možná se budete muset přihlásit jako správce nebo použít su
příkaz.
Použití visudo a skupiny sudoers
V některých moderních verzích Linuxu jsou uživatelé přidáváni do sudoers soubor pro udělení oprávnění. To se provádí pomocí visudo
příkaz.
1. Použijte visudo
příkaz pro úpravu konfiguračního souboru:
sudo visudo
2. Otevře se /etc/sudoers pro úpravu. Chcete-li přidat uživatele a udělit úplná práva sudo , přidejte následující řádek:
[username] ALL=(ALL:ALL) ALL
3. Uložte a ukončete soubor.
Zde je rozpis udělených práv sudo:
[username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed]
Příklady sudo v Linuxu
Základní použití sudo
1. Otevřete okno terminálu a vyzkoušejte následující příkaz:
apt-get update
2. Měla by se zobrazit chybová zpráva. Nemáte potřebná oprávnění ke spuštění příkazu.
3. Zkuste stejný příkaz s sudo
:
sudo apt-get update
4. Po zobrazení výzvy zadejte heslo. Systém provede příkaz a aktualizuje úložiště.
Spustit příkaz jako jiný uživatel
1. Chcete-li spustit příkaz jako jiný uživatel, zadejte v terminálu následující příkaz:
whoami
2. Systém by měl zobrazit vaše uživatelské jméno. Dále spusťte následující příkaz:
sudo -u [different_username] whoami
3. Zadejte heslo pro [different_username]
a whoami
příkaz se spustí a zobrazí jiného uživatele.
Přepnout na uživatele root
Tento příkaz přepne váš příkazový řádek do prostředí BASH jako uživatel root:
sudo bash
Váš příkazový řádek by se měl změnit na:
[email protected]:/home/[username]
hostname
hodnota bude název sítě tohoto systému. username
bude aktuální přihlášené uživatelské jméno.
Provádět předchozí příkazy pomocí sudo
Příkazový řádek Linuxu uchovává záznamy o dříve provedených příkazech. Tyto záznamy jsou přístupné stisknutím šipky nahoru. Chcete-li zopakovat poslední příkaz se zvýšenými oprávněními, použijte:
sudo !!
Funguje to i se staršími příkazy. Zadejte historické číslo následovně:
sudo !6
Tento příklad opakuje 6. záznam v historii pomocí sudo
příkaz.
Spouštění více příkazů na jednom řádku
Řetězec více příkazů dohromady oddělených středníkem:
sudo ls; whoami; hostname
Přidat řetězec textu do existujícího souboru
Přidání řetězce textu do souboru se často používá k přidání názvu softwarového úložiště do zdrojového souboru, aniž by bylo nutné soubor otevřít pro úpravy. S příkazy echo, sudo a tee použijte následující syntaxi:
echo ‘string-of-text’ | sudo tee -a [path_to_file]
Například:
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list