GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak přidat, odstranit a udělit oprávnění Sudo uživatelům v Ubuntu

Tento tutoriál vysvětluje, jak přidat, odstranit a udělit Sudo oprávnění pro uživatele v operačním systému Ubuntu Linux. Níže uvedené kroky jsou testovány ve verzi Ubuntu 20.04 LTS. Postup je však stejný pro ostatní distribuce založené na DEB. Než se pustíme do tématu, podívejme se, co je sudo a jeho výhody.

1. Co je sudo?

V operačních systémech Linux a Unix existuje speciální uživatel s názvem root . Uživatel root může v systému podobnému Unixu dělat cokoli. Používání uživatele root pro každodenní činnosti může být nebezpečné a nedoporučuje se. Jeden špatný příkaz může zničit celý systém! Zde se nachází "sudo" přichází na pomoc. Umožňuje oprávněným uživatelům provádět úlohy s oprávněními root, i když neznají heslo uživatele root. To je důvod, proč je důležité vytvořit běžného uživatele a přidat ho do skupiny uživatelů sudo, aby v případě potřeby mohl provádět administrativní úkoly. Tento uživatel tedy může při spouštění příkazů s předponou sudo fungovat jako běžný uživatel i jako administrátor.

2. Výhody sudo

  • Heslo uživatele root nemusí být sdíleno s ostatními uživateli.
  • Uživatelé nemusí znát heslo uživatele root, aby mohli provádět administrativní úkoly.
  • Při provádění administrativní úlohy budou uživatelé vyzváni k zadání hesla sudo předtím, než dojde k jakýmkoli změnám v systému. Mělo by to uživatele přimět přemýšlet o důsledcích toho, co dělají.
  • Administrátorská práva mohou být uživatelům snadno udělena a kdykoli odvolána, pokud již nebudou vyžadována.
  • Některé distribuce Linuxu, například Ubuntu, ve výchozím nastavení zakazují uživatele root. Neexistuje tedy žádný způsob, jak spustit útoky hrubou silou na uživatele root. I kdyby to někdo zkusil, bylo by to zbytečné. Protože neexistuje žádné rootovské heslo k prolomení.
  • Důležitější je, že relace sudo bude po krátké době ukončena. Pro případ, že byste nechali terminál otevřený po spuštění příkazů jako uživatel root s oprávněním sudo, autentizace automaticky vyprší. Ostatní uživatelé tedy nemohou provádět žádné další administrativní úkoly. Ve výchozím nastavení je heslo uloženo po dobu 15 minut v aktuální relaci. Poté musíte heslo zadat znovu.
  • Sledujte aktivitu uživatelů sudo na příkazovém řádku. sudo přidá záznam příkazů spuštěných uživateli do /var/log/auth.log souboru . Pokud se vyskytne nějaký problém, můžete se na tyto příkazy podívat a pokusit se zjistit, co se pokazilo.

Toto je několik výhod uživatele sudo. Nyní pojďme dále a uvidíme, jak přidat, odstranit a udělit oprávnění Sudo uživatelům v Linuxu

3. Přidejte, odstraňte a udělte uživatelům v Ubuntu oprávnění Sudo

Nejprve vytvoříme běžného uživatele.

3.1. Přidat nového uživatele v Linuxu

Nejprve vytvořte běžného uživatele, například "ubuntuserver" . Chcete-li to provést, spusťte:

$ sudo adduser ubuntuserver

Ukázkový výstup:

Adding user `ubuntuserver' ...
Adding new group `ubuntuserver' (1001) ...
Adding new user `ubuntuserver' (1001) with group `ubuntuserver' ...
Creating home directory `/home/ubuntuserver' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for ubuntuserver
Enter the new value, or press ENTER for the default
    Full Name []: ubuntu 20.04 server
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y

Byl vytvořen nový uživatel s názvem "ubuntuserver".

3.2. Udělte uživatelům v Linuxu privilegia Sudo

V některých systémech Linux, například Arch Linux, musíte nainstalovat "sudo" balíčku před vytvořením nového uživatele sudo.

# pacman -S sudo

V Debianu:

# apt install sudo

Na serveru a desktopech Ubuntu je ve výchozím nastavení nainstalováno „sudo“.

Nyní přidejte nově vytvořeného uživatele do skupiny sudo pomocí následujícího příkazu:

$ sudo adduser ubuntuserver sudo

Ukázkový výstup:

Adding user `ubuntuserver' to group `sudo' ...
Adding user ubuntuserver to group sudo
Done.

Uživateli s názvem "ubuntuserver" byla udělena oprávnění sudo.

Můžete také následující příkaz přidat uživatele do skupiny sudo.

$ sudo usermod -aG sudo ubuntuserver

Chcete-li ověřit, zda je uživatel ve skupině sudo, spusťte:

$ sudo -l -U ubuntuserver

Ukázkový výstup:

Matching Defaults entries for ubuntuserver on ostechnix:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User ubuntuserver may run the following commands on ostechnix:
    (ALL : ALL) ALL

Zde je "(ALL :ALL) ALL" řádek znamená, že uživatel má neomezená oprávnění a může spouštět jakýkoli příkaz v systému. V tomto případě je uživatel "ubuntuserver" ve skupině uživatelů sudo a nyní může provádět nejrůznější administrativní úkoly.

Pokud otevřete obsah sudoers soubor;

$ sudo cat /etc/sudoers

Uvidíte několik řádků jako níže.

[...]
# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Jak můžete vidět na výše uvedeném výstupu, všichni členové skupiny sudo mohou provést jakýkoli příkaz.

  • První VŠECHNY jsou povoleni uživatelé.
  • Druhým VŠEM jsou hostitelé. Pokud distribuujete stejný soubor "sudoers" na mnoho hostitelských počítačů, uživatel může provádět administrativní příkazy na všech hostitelích.
  • Třetí je uživatel, když spouštíte příkaz.
  • Poslední jsou povolené příkazy.

3.3. Ověřte uživatele Sudo

Chcete-li ověřit, zda je uživatel schopen provádět administrativní úkoly, odhlaste se a znovu se přihlaste jako nový uživatel.

Případně se můžete okamžitě přihlásit jako jiný uživatel s oprávněním sudo, aniž byste se museli odhlašovat z aktuální relace, jak je uvedeno níže.

$ sudo -i -u <username>

Příklad:

$ sudo -i -u ubuntuserver

Nyní spusťte libovolné příkazy s předponou "sudo", jak je uvedeno níže.

$ sudo apt update

3.4. Smazat uživatele Sudo

Oprávnění sudo můžete uživateli odebrat, aniž byste jej museli zcela odstranit. Když to děláte v systémech Ubuntu, musíte být opatrní. Neodstraňujte skutečného správce ze skupiny "sudo". V systému by měl být alespoň jeden uživatel sudo.

Chcete-li uživateli zrušit oprávnění sudo, příkaz by byl:

$ sudo deluser ubuntuserver sudo

Výše uvedený příkaz odstraní uživatele s názvem "ubuntuserver" ze skupiny "sudo".

Ukázkový výstup:

Removing user `ubuntuserver' from group `sudo' ...
Done.

Upozorňujeme, že tento příkaz odstraní pouze uživatele 'ubuntuserver' ze skupiny sudo, ale neodstraní uživatele trvale ze systému.

Případně spusťte následující příkaz a odeberte uživateli oprávnění sudo:

$ sudo gpasswd -d ubuntuserver sudo

Nyní se uživatel stává běžným uživatelem a nemůže provádět žádné administrativní úkoly s oprávněním sudo.

Chcete-li ověřit, zda byl uživatel skutečně odstraněn ze skupiny "sudo", spusťte:

$ sudo -l -U ubuntuserver

Ukázkový výstup:

User ubuntuserver is not allowed to run sudo on ostechnix.

Uživateli bylo odebráno oprávnění sudo.

3.5. Trvale odstranit uživatele

Ve výše uvedeném kroku jsme pouze odebrali uživatele ze skupiny "sudo". Ale uživatel v systému stále existuje. Chcete-li uživatele zcela odebrat ze systému Linux, přihlaste se jako uživatel root nebo sudo a spusťte:

$ sudo deluser <username>

Příklad:

$ sudo deluser ubuntuserver

Pokud chcete odebrat uživatele spolu s jeho domovským adresářem a zařazováním pošty, spusťte:

$ sudo deluser --remove-home ubuntuserver

Ukázkový výstup:

Looking for files to backup/remove ...
Removing files ...
Removing user `ubuntuserver' ...
Warning: group `ubuntuserver' has no more members.
Done.

Další podrobnosti naleznete na manuálových stránkách.

$ man adduser
$ man deluser
$ man sudo

Tato příručka je k dispozici také pro systémy Alpine Linux, Arch Linux a CentOS. Podívejte se na následující průvodce, jak přidat, odstranit a udělit oprávnění sudo uživatelům v distribucích Arch Linux a CentOS Linux.

  • Přidávání, odstraňování a udělování oprávnění sudo uživatelům v systému Alpine Linux
  • Přidat, odstranit a udělit uživatelům v Arch Linuxu oprávnění Sudo
  • Přidávání, odstraňování a udělování oprávnění sudo uživatelům v systému CentOS

Doufám, že to pomůže.

Související čtení:

  • 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

Vybraný obrázek od mohameda Hassana z Pixabay .


Ubuntu
  1. Jak udělit a odebrat oprávnění Sudo uživatelům na Ubuntu

  2. Jak přidat uživatele do Ubuntu?

  3. Jak vytvářet uživatele a spravovat jejich oprávnění Sudo na Ubuntu

  1. Jak přidat uživatele do Sudoers a přidat uživatele do skupiny Sudo na Ubuntu

  2. Jak přidat a odstranit uživatele v Ubuntu, Debianu a LinuxMintu

  3. Vytvářejte a mažte uživatele v Ubuntu 20.04

  1. Jak přidávat a odstraňovat uživatele na Ubuntu 18.04

  2. Jak přidat uživatele do Sudoers v Ubuntu

  3. Jak přidat a odebrat uživatele na Ubuntu 20.04