"sudo"
uživatel může spustit administrativní úlohu nebo příkaz, který běžný uživatel nemá povoleno. Tato příručka vysvětluje, jak přidat, odstranit a udělit sudo
oprávnění pro uživatele v CentOS a dalších systémech založených na RHEL. Použil jsem následující kroky k vytvoření uživatele sudo v CentOS 8 minimální edici. Měl by však fungovat i na jiných systémech založených na RPM.
Co je sudo?
V Linuxu a Unixu obecně sudo
program umožňuje běžnému uživateli dočasně získat superuživatele nebo root
možnosti uživatele. Pomocí sudo
běžný uživatel může provádět administrativní úkoly, aniž by měl přístup k root
uživatelské heslo. Místo toho, abyste prozradili root
heslo komukoli, stačí přiřadit sudo
oprávnění pro uživatele ke zvýšení jejich oprávnění. Slovo „sudo“ původně pochází z „su uživatel dělat ", protože se primárně používal k provádění úkolů superuživatele. Nyní také znamená "náhradní uživatel dělat"
Výhody uživatelů sudo
Být sudo
uživatel nabízí mnoho výhod, jak je uvedeno níže:
- Správce systému nemusí sdílet
root
uživatelské heslo pro všechny. - Běžný uživatel může provádět administrativní úkoly, i když nezná
root
heslo. - Povolení sudo lze uživatelům kdykoli udělit nebo je zrušit.
- Relace sudo automaticky vyprší po určité době nečinnosti uživatele. Je to docela užitečné, když se uživatel zapomene odhlásit ze své relace. Ve výchozím nastavení vyprší relace sudo po 15 minutách nečinnosti.
- Správci systému mohou sledovat aktivity všech uživatelů sudo. Všechny aktivity uživatelů sudo jsou přihlášeny do
/var/log/secure
soubor. Pokud se vyskytnou nějaké problémy, můžete se podívat do souboru protokolu a pokusit se zjistit, co se pokazilo. Také byste zjistili, kdo zneužívá práva sudo a můžete jeho povolení jednoduše zrušit.
Přidávání, mazání a udělování oprávnění sudo uživatelům v CentOS
Přihlaste se do systému CentOS jako root
uživatel nebo jako jakýkoli uživatel, který má oprávnění sudo.
Nejprve přidejte nového uživatele.
1. Přidejte uživatele v CentOS
Dovolte mi vytvořit nového uživatele s názvem „senthil“. Abych to udělal, spustil jsem následující příkaz jako root
uživatel z Terminálu:
# adduser senthil
Nastavte heslo pro nového uživatele "senthil":
# passwd senthil
Nyní jsme vytvořili normálního uživatele. Není zatím oprávněn vykonávat žádné administrativní úkony. Pojďme zkontrolovat, zda uživatel "senthil" může použít sudo
příkaz nebo ne spuštěním následujícího příkazu:
# sudo -l -U senthil
Ukázkový výstup:
User senthil is not allowed to run sudo on centos8
Ano, zatím nemá povoleno spouštět sudo
na mém systému CentOS 8. Dejme mu sudo
práva nyní.
2. Udělte oprávnění sudo uživatelům v CentOS
Chcete-li přidat normálního uživatele do skupiny sudoers, musíte ho přidat do wheel
skupina. Pro ty, co by to zajímalo, wheel
je speciální skupina v některých operačních systémech podobných Unixu. Všichni členové wheel
skupiny mohou vykonávat administrativní úkoly. Skupina kol je podobná jako sudo
skupina v systémech založených na Debianu.
Uživatele můžeme do sudoers přidat dvěma způsoby. První metodou je použití chmod
příkaz.
2.1. Přidejte uživatele do sudoers pomocí usermod
příkaz v CentOS
Nyní udělme práva sudo nově vytvořenému uživateli "senthil" tím, že ho přidáme do wheel
skupiny pomocí usermod
příkaz jako níže:
# usermod -aG wheel senthil
Zde -aG
se týká připojení k doplňkové skupině. V našem případě je to wheel
skupina. To je vše, právě jsme udělili práva sudo uživateli "senthil".
Ověřte, zda je uživatel v seznamu sudoers příkazem:
# sudo -l -U senthil
Ukázkový výstup:
Matching Defaults entries for senthil on centos8:
!visiblepw, always_set_home, match_group_by_gid,
always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR
USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin:/bin:/usr/sbin:/usr/bin
User senthil may run the following commands on centos8:
(ALL) ALL
Jak můžete vidět na posledním řádku výše uvedeného výstupu, uživatel "senthil" nyní může provádět všechny příkazy.
2.2. Přidejte uživatele do sudoers úpravou konfiguračního souboru sudoers v CentOS
Dalším způsobem, jak přidat uživatele do seznamu sudoers, je jejich přímé přidání do konfiguračního souboru sudoers.
Upravte konfigurační soubor sudoers pomocí příkazu:
# visudo
Tím se otevře /etc/sudoers
soubor ve vašem Vi editor nebo cokoli, co máte v $PATH
. Přejděte dolů, dokud nenajdete následující položku:
root ALL=(ALL) ALL
Hned za výše uvedený záznam přidejte následující řádek:
senthil ALL=(ALL) ALL
Zde je řádek ALL=(ALL) ALL
odkazuje, že uživatel "senthil" může provádět libovolné příkazy na libovolném hostiteli. Nahraďte "senthil" svým vlastním uživatelským jménem. Uložte a zavřete soubor. Hotovo! Uživatel "senthil" byl přidán do seznamu sudoers.
2.3. Ověřte uživatele sudo v CentOS
Odhlaste se z aktuální relace a přihlaste se zpět jako nově vytvořený uživatel sudo. Případně můžete přímo přepnout na jiného uživatele, aniž byste se museli odhlašovat z aktuální relace, pomocí následujícího příkazu:
# sudo -i -u senthil
Nyní ověřte, zda je uživatel schopen provádět jakoukoli administrativní úlohu pomocí sudo
povolení:
$ sudo dnf update
3. Smazat sudo oprávnění od uživatele v CentOS
Můžeme uživateli odebrat oprávnění sudo, aniž bychom museli úplně smazat uživatelský účet.
Chcete-li uživateli zrušit oprávnění sudo, jednoduše spusťte následující příkaz jako root
uživatel:
# gpasswd -d senthil wheel
Ukázkový výstup:
Removing user senthil from group wheel
Výše uvedený příkaz smaže uživatele s názvem "senthil"
z "wheel"
skupina. Upozorňujeme, že uživatel není zcela odstraněn ze systému. Odebrali jsme pouze oprávnění sudo.
Zkontrolujte, zda uživatel může provádět operace sudo:
# sudo -l -U senthil
User senthil is not allowed to run sudo on centos8.
No, senthil
již není ve skupině sudoers a nemůže vykonávat žádné administrativní úkoly.
Chcete-li trvale odebrat uživatele ze systému, spusťte:
# userdel -r senthil
Výše uvedený příkaz smaže uživatele „senthil“ spolu s jeho home
adresář a zařazování pošty.
Další podrobnosti naleznete na manuálové stránce příslušného příkazu:
$ man sudo
$ man adduser
$ man usermod
$ man gpasswd
$ man userdel
Závěr
Nyní víte, jak přidat, odstranit a udělit oprávnění sudo uživatelům v operačních systémech CentOS. Jak vidíte, je velmi snadné přidat nové uživatele do seznamů sudoers, udělit oprávnění sudo stávajícímu uživateli a odebrat uživateli oprávnění sudo. Doufám, že to pomůže.
Související čtení:
- Jak přidat, odstranit a udělit uživatelům v Alpine Linux oprávnění sudo
- Jak přidat, odstranit a udělit uživatelům v Arch Linuxu oprávnění Sudo
- Jak přidat, odstranit a udělit uživatelům ve Fedoře oprávnění sudo
- Jak přidat, odstranit a udělit uživatelům v Ubuntu oprávnění sudo
- Jak změnit časový limit hesla Sudo v systému Linux
- Jak změnit výchozí soubor protokolu sudo v systému Linux
- Jak obnovit oprávnění uživatele Sudo
- Jak najít všechny uživatele Sudo ve vašem systému Linux
- Jak spouštět konkrétní příkazy bez hesla Sudo v systému Linux