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ář.