sudo
je nástroj příkazového řádku navržený tak, aby umožnil důvěryhodným uživatelům spouštět příkazy jako jiný uživatel, ve výchozím nastavení uživatel root.
Máte dvě možnosti, jak uživateli udělit přístup k sudo. Prvním z nich je přidání uživatele do souboru sudoers. Tento soubor obsahuje informace, které definují, kterým uživatelům a skupinám jsou udělena oprávnění sudo, a také úroveň oprávnění.
Druhou možností je přidat uživatele do skupiny sudo definované v sudoers
soubor. Ve výchozím nastavení mají na distribucích založených na RedHatu, jako je CentOS a Fedora, členové skupiny „wheel“ oprávnění sudo.
Přidání uživatele do skupiny #
Nejjednodušší způsob, jak udělit oprávnění sudo uživateli na CentOS, je přidat uživatele do skupiny „wheel“. Členové této skupiny mohou spouštět všechny příkazy pomocí sudo
a vyzváni k ověření pomocí hesla při použití sudo
.
Předpokládáme, že uživatel již existuje. Pokud chcete vytvořit nového uživatele, podívejte se na tuto příručku.
Chcete-li přidat uživatele do skupiny, spusťte níže uvedený příkaz jako root nebo jiný uživatel sudo. Změňte „username“ na jméno uživatele, kterému chcete udělit oprávnění.
usermod -aG wheel username
Udělení přístupu sudo pomocí této metody je dostatečné pro většinu případů použití.
Chcete-li otestovat přístup sudo, spusťte whoami
příkaz:
sudo whoami
Budete vyzváni k zadání hesla. Pokud má uživatel přístup sudo, příkaz vypíše „root“:
root
Pokud se zobrazí chyba „uživatel není v souboru sudoers“, znamená to, že uživatel nemá oprávnění sudo.
Přidání uživatele do souboru sudoers #
Práva uživatelů a skupin sudo se konfigurují v /etc/sudoers
soubor. Přidání uživatele do tohoto souboru vám umožní udělit přizpůsobený přístup k příkazům a nakonfigurovat vlastní zásady zabezpečení pro uživatele.
Uživatelský přístup k sudo můžete nakonfigurovat úpravou souboru sudoers nebo vytvořením nového konfiguračního souboru v /etc/sudoers.d
adresář. Soubory v tomto adresáři jsou součástí souboru sudoers.
Chcete-li upravit /etc/sudoers
použijte visudo
příkaz. Tento příkaz při ukládání zkontroluje, zda v souboru nejsou syntaktické chyby. Pokud se vyskytnou nějaké chyby, soubor se neuloží. Pokud soubor otevřete pomocí textového editoru, chyba syntaxe může vést ke ztrátě přístupu sudo.
Obvykle visudo
používá vim k otevření /etc/sudoers
. Pokud nemáte zkušenosti s vim a chcete upravit soubor s nanotypem:
EDITOR=nano visudo
Řekněme, že chcete uživateli umožnit spouštět příkazy sudo, aniž by byl požádán o heslo. Otevřete /etc/sudoers
soubor:
visudo
Přejděte dolů na konec souboru a přidejte následující řádek:
/etc/sudoersusername ALL=(ALL) NOPASSWD:ALL
Uložte soubor a ukončete editor. Nezapomeňte změnit „username“ na uživatelské jméno, kterému chcete udělit přístup.
Dalším běžným příkladem je umožnit uživateli spouštět pouze určité příkazy pomocí sudo
. Chcete-li například povolit pouze du
a ping
příkazy, které byste použili:
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
Namísto úpravy souboru sudoers můžete toho samého dosáhnout vytvořením nového souboru s pravidly autorizace v /etc/sudoers.d
adresář. Přidejte stejné pravidlo, jaké byste přidali do souboru sudoers:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Tento přístup usnadňuje správu práv sudo. Název souboru není důležitý. Je běžnou praxí, že název souboru je stejný jako uživatelské jméno.