Android

Příkaz sudo v linuxu

Instalace LispWorks v prostředí Ubuntu Linux

Instalace LispWorks v prostředí Ubuntu Linux

Obsah:

Anonim

Příkaz sudo umožňuje spouštět programy jako jiný uživatel, ve výchozím nastavení root. Pokud trávíte hodně času na příkazovém řádku, sudo je jedním z příkazů, které budete používat poměrně často.

Použití sudo namísto přihlášení jako root je bezpečnější, protože jednotlivým uživatelům můžete udělit omezená oprávnění správce, aniž by znali heslo root.

V tomto tutoriálu si vysvětlíme, jak používat příkaz sudo .

Instalace sudo (příkaz sudo nebyl nalezen)

Balíček sudo je předinstalován na většině linuxových distribucí.

Chcete-li zkontrolovat, zda je v systému nainstalován balíček sudo, otevřete konzoli, zadejte sudo a stiskněte klávesu Enter . Pokud máte nainstalované sudo, systém zobrazí krátkou nápovědu, jinak uvidíte něco jako sudo command not found .

Pokud sudo není nainstalováno, můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce.

Nainstalujte Sudo na Ubuntu a Debian

apt install sudo

Nainstalujte Sudo na CentOS a Fedora

yum install sudo

Přidání uživatele do sudoerů

Ve většině distribucí Linuxu je udělování přístupu sudo ve výchozím nastavení stejně snadné jako přidání uživatele do skupiny sudo definované v souboru sudoers . Členové této skupiny budou moci spustit jakýkoli příkaz jako root. Název skupiny se může lišit od distribuce k distribuci.

U distribucí založených na RedHat, jako jsou CentOS a Fedora, je jméno skupiny sudo wheel . Přidání uživatele do běhu skupiny:

usermod -aG wheel username

Na Debianu, Ubuntu a jejich derivátech jsou členům skupiny sudo přidělen přístup sudo:

usermod -aG sudo username

Kořenový uživatelský účet v Ubuntu je ve výchozím nastavení z bezpečnostních důvodů zakázán a uživatelé jsou vyzváni k provádění úlohy správy systému pomocí sudo. Počáteční uživatel vytvořený instalačním programem Ubuntu je již členem skupiny sudo, takže pokud používáte Ubuntu, je pravděpodobné, že uživatel, ke kterému jste přihlášeni, je již uděleno s právy sudo.

Chcete-li například povolit uživateli linuxize spouštění pouze příkazu mkdir jako sudo, zadejte:

sudo visudo

a připojte následující řádek:

linuxize ALL=/bin/mkdir

Ve většině systémů příkaz visudo otevře textový soubor /etc/sudoers pomocí textového editoru vim. Pokud nemáte zkušenosti s vim, podívejte se do našeho článku o tom, jak soubor uložit a ukončete editor vim.

Můžete také povolit uživatelům spouštění příkazů sudo bez zadání hesla:

linuxize ALL=(ALL) NOPASSWD: ALL

Jak používat Sudo

Syntaxe příkazu sudo je následující:

sudo OPTION.. COMMAND

Příkaz sudo má mnoho možností, které řídí jeho chování, ale sudo se obvykle používá ve své nejzákladnější podobě, bez jakékoli možnosti.

Chcete-li použít sudo, jednoduše předponou zadejte příkaz sudo :

sudo command

command where je příkaz, pro který chcete použít sudo.

Sudo přečte soubor /etc/sudoers a zkontroluje, zda je vyvolávajícímu uživateli uděleno hodnocení sudo. Při prvním použití sudo v relaci budete vyzváni k zadání uživatelského hesla a příkaz bude proveden jako root.

Například pro výpis všech souborů v /root adresáři, který byste použili:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Časový limit hesla

Ve výchozím nastavení vás sudo požádá o zadání hesla znovu po pěti minutách nečinnosti sudo. Výchozí časový limit můžete změnit úpravou souboru sudoers . Otevřete soubor pomocí visudo :

sudo visudo

Nastavte výchozí časový limit přidáním řádku níže, kde 10 je časový limit specifikovaný v minutách:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Spusťte příkaz jako uživatel jiný než root

Existuje nesprávné vnímání, že sudo se používá pouze k poskytování oprávnění uživatele root běžnému uživateli. Ve skutečnosti můžete použít sudo ke spuštění příkazu jako každý uživatel.

Volba -u vám umožňuje spustit příkaz jako zadaný uživatel.

V následujícím příkladu používáme sudo ke spuštění příkazu whoami jako uživatelského „richard“:

sudo -u richard whoami

Příkaz whoami vytiskne jméno uživatele, který příkaz spouští:

richard

Jak přesměrovat se Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

K tomu dochází, protože přesměrování „ > “ výstupu se provádí pod uživatelem, ke kterému jste přihlášeni, nikoli uživatelem určeným sudo. Přesměrování nastane před vyvoláním příkazu sudo .

Jedním řešením je vyvolat nový shell jako root pomocí sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Další možností je připojit výstup jako běžný uživatel k příkazu tee jak je ukázáno níže:

echo "test" | sudo tee /root/file.txt

Závěr

Naučili jste se, jak používat příkaz sudo a jak vytvářet nové uživatele s právy sudo.

terminál sudo