
sudo
umožňuje důvěryhodným uživatelům spouštět programy jako jiný uživatel, ve výchozím nastavení uživatel root. Pokud trávíte hodně času na příkazovém řádku, sudo
je jedním z příkazů, které budete často používat.
Obvykle, chcete-li uživateli udělit přístup k sudo, musíte uživatele přidat do skupiny sudo definované v sudoers
soubor. Na Debianu, Ubuntu a jejich derivátech členové skupiny sudo
jsou udělena s právy sudo, zatímco na distribucích založených na RedHat, jako je CentOS a Fedora, je název skupiny sudo wheel
.
Každý člen této skupiny bude před spuštěním příkazu sudo vyzván k zadání hesla. To přidává další vrstvu zabezpečení a je to preferovaný způsob, jak uživatelům udělit oprávnění sudo.
V některých situacích, jako je spouštění automatických skriptů, však může být nutné nakonfigurovat soubor sudoers a umožnit určitým uživatelům spouštět sudo
příkazy, aniž byste byli požádáni o heslo.
Přidání uživatele do souboru Sudoers #
Soubor sudoers obsahuje informace, které určují oprávnění uživatele a skupiny sudo.
Uživatelský přístup k sudo můžete nakonfigurovat úpravou souboru sudoers nebo přidáním konfiguračního souboru do /etc/sudoers.d
adresář. Soubory vytvořené v tomto adresáři budou zahrnuty do souboru sudoers.
Před provedením jakýchkoli změn je dobré zálohovat aktuální soubor:
sudo cp /etc/sudoers{,.backup_$(date +%Y%m%d)}
Příkaz date připojí k názvu záložního souboru aktuální datum.
Otevřete /etc/sudoers
soubor s visudo
příkaz:
sudo visudo
Při provádění změn v souboru sudoers vždy použijte visudo
. Tento příkaz zkontroluje soubor po úpravě a pokud dojde k chybě syntaxe, změny neuloží. Pokud soubor otevřete pomocí textového editoru, syntaktická chyba způsobí ztrátu přístupu sudo.
Na většině systémů visudo
příkaz otevře /etc/sudoers
soubor s textovým editorem vim. Pokud nemáte zkušenosti s vim, můžete použít jiný textový editor. Chcete-li například změnit editor na GNU nanoy, spustili byste:
sudo EDITOR=nano visudo
Přejděte dolů na konec souboru a přidejte následující řádek, který uživateli umožní „linuxize“ spustit libovolný příkaz pomocí sudo
aniž byste byli požádáni o heslo:
linuxize ALL=(ALL) NOPASSWD:ALL
Nezapomeňte změnit „linuxize“ na uživatelské jméno, kterému chcete udělit přístup.
Pokud chcete uživateli umožnit spouštět pouze určité příkazy bez zadání hesla, zadejte příkazy za NOPASSWD
klíčové slovo.
Například povolit pouze mkdir
a mv
příkazy, které byste použili:
linuxize ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/mv
Po dokončení uložte soubor a ukončete editor.
Pomocí /etc/sudoers.d
#
Místo úpravy souboru sudoers můžete vytvořit nový soubor s pravidly autorizace v /etc/sudoers.d
adresář. Tento přístup usnadňuje správu práv sudo.
Otevřete textový editor a vytvořte soubor:
sudo nano /etc/sudoers.d/linuxize
Soubor můžete pojmenovat, jak chcete, ale obvykle je dobré jako název souboru použít uživatelské jméno.
/etc/sudoers.d/linuxizePřidejte stejné pravidlo, jaké byste přidali do souboru sudoers:
linuxize ALL=(ALL) NOPASSWD:ALL
Nakonec soubor uložte a zavřete editor.
Závěr č.
Ukázali jsme vám, jak upravit /etc/sudoers
takže můžete spustit sudo
příkazy bez zadání hesla. To je užitečné, když máte skripty, kde uživatel bez oprávnění root potřebuje provádět administrativní úlohy.
Pokud máte nějaké dotazy, neváhejte zanechat komentář.