Příkaz sudo v Linuxu: Správa uživatelských práv
Příkaz sudo
je základním kamenem pro většinu uživatelů Linuxu, ať už jsou začátečníci nebo pokročilí. Umožňuje spouštět příkazy s oprávněními superuživatele (root), aniž by bylo nutné se k tomuto účtu přímo přihlašovat. To je velmi pohodlné a efektivní, zvláště pro ty, kteří se chtějí vyhnout neustálému přihlašování a odhlašování z účtu root. Navíc sudo
přispívá k vyšší bezpečnosti systémů Linux.
V současnosti se nad sudo
často ani nezamýšlíme. Během instalace Linuxu bývá obvykle automaticky nastaven a připraven k použití ihned po instalaci.
Instalace sudo
Může se zdát překvapivé, že ne všechny distribuce Linuxu mají sudo
předkonfigurované. V ojedinělých případech nemusí být dokonce ani nainstalované. Pokud se s takovou situací setkáte, budete jej muset doinstalovat. Instalace sudo
je poměrně jednoduchá a platí pro všechny systémy postavené na Linuxu. Můžete navštívit Pkgs.org a podívat se na balíčky, které budete pro instalaci sudo
potřebovat, nebo použít jeden z příkazů uvedených níže pro vaši distribuci.
Poznámka: Následující instrukce platí pro distribuce Linuxu, které nemají sudo
předinstalované nebo plně nakonfigurované.
Debian
su - apt-get install sudo
Arch Linux
su - pacman -S sudo
Fedora
su - dnf install sudo
OpenSUSE
su - zypper install sudo
Gentoo/Funtoo
su -
emerge app-admin/sudo
Přidávání uživatelů do sudo pomocí skupin
Nejjednodušší způsob, jak spravovat uživatele s právy sudo
, je vytvořit skupinu, která má k sudo
přístup, a do této skupiny uživatele přidávat. Často se používá skupina „wheel“ nebo „sudo“.
Konkrétní název skupiny se může lišit v závislosti na vaší distribuci Linuxu. Pro ověření, kterou skupinu váš systém používá, použijte příkaz cat
a prohlédněte si soubor /etc/sudoers
.
su - cat /etc/sudoers | more
Hledejte řádek, který říká „Umožnit členům skupiny sudo spouštět libovolný příkaz“. Pod ním by se měl objevit jeden z těchto dvou řádků:
%sudo ALL=(ALL:ALL) ALL
nebo
%wheel ALL=(ALL:ALL) ALL
Poznamenejte si skupinu (wheel
nebo sudo
) uvedenou na začátku řádku. Následně přidejte svého uživatele do této skupiny, abyste mu udělili práva sudo
.
su – usermod -a -G sudo yourusername
nebo
usermod -a -G wheel yourusername
Nezapomeňte tento proces zopakovat pro každého uživatele, kterému chcete umožnit používání sudo
.
Přidávání uživatelů přímo do souboru sudoers
Alternativním způsobem, jak udělit uživatelům přístup k sudo
, je specifikovat je přímo v souboru sudoers
. Tato metoda je o něco komplexnější, ale může být vhodná, pokud se nechcete spoléhat na skupinový systém. Začněte otevřením terminálu a přihlášením k root účtu pomocí příkazu su
.
su -
Nyní, když máte přístup root, můžete upravit soubor /etc/sudoers
. Je důležité poznamenat, že úpravy tohoto souboru MUSÍ být provedeny pomocí příkazu visudo
. Přímá editace /etc/sudoers
by mohla způsobit problémy. Proto použijte:
EDITOR=nano visudo
Díky tomu budeme moci upravit soubor /etc/sudoers
pomocí textového editoru nano
místo vi
. Přejděte dolů a najděte sekci „Specifikace uživatelských oprávnění“. Pod řádek, který specifikuje oprávnění pro „Root“, přidejte nový řádek pro vašeho uživatele:
username ALL=(ALL:ALL) ALL
Uložte změny v nano
pomocí Ctrl + O a zavřete jej pomocí Ctrl + X. Od tohoto okamžiku by měl být váš uživatel schopen používat příkazy pomocí sudo
.
Sudo bez hesla
Sudo
bez hesla funguje stejně jako tradiční oprávnění sudo
. Pro jeho povolení je nutné provést změny v souboru sudoers
. Některé distribuce Linuxu mají tuto verzi sudo
snadno konfigurovatelnou, zatímco jiné nemají žádný odkaz na „sudo
bez hesla“.
Pro zjištění, zda soubor sudoers
vašeho systému již tuto možnost podporuje, použijte příkaz cat
:
cat /etc/sudoers/ | more
Nejprve otevřete soubor sudoers
a zakomentujte:
%sudo ALL=(ALL:ALL) ALL
nebo
%wheel ALL=(ALL:ALL) ALL
Zakázáním těchto řádků deaktivujete „sudo
s heslem“. Dále najděte sekci „Totéž bez hesla“ a odstraňte #
z čela daného řádku. Uložte změny v editoru pomocí Ctrl + O a Ctrl + X. Tímto způsobem by mělo být automaticky povoleno sudo
bez hesla na vašem Linuxovém systému.
Zakázání sudo pro konkrétní uživatele
Nejlepším způsobem, jak zakázat sudo
pro konkrétního uživatele, je přidělovat práva individuálně, jak je popsáno výše. Pokud preferujete přidělování práv sudo
pomocí skupin, můžete zabránit přístupu k příkazu sudo
některým uživatelům tím, že je odeberete ze skupiny. K tomu použijte příkaz:
su - gpasswd -d sudo
nebo
gpasswd -d wheel
Po odebrání uživatele ze skupiny sudo
, nebude moci používat tento příkaz pro provádění operací vyžadujících vyšší oprávnění.