GNU/Linux >> Znalost Linux >  >> Linux

sudo:příkaz nenalezen

Pomocí příkazu su může každý uživatel, který zná heslo uživatele root, „získat uživatele root“ a dělat vše, co může uživatel root. Účet používající „su – root“ je v podstatě správce serveru. To je často mnohem více pravomocí, než by mělo být delegováno na uživatele. Lepší praxí je delegovat specifické funkce na uživatele spíše než udělovat celosystémová oprávnění root.

Příkaz sudo umožňuje správci serveru delegovat konkrétní příkazy konkrétním uživatelům, aniž by jim byla udělena plná oprávnění na serveru. Delegování se provádí v souboru /etc/sudoers pomocí editoru visudo. Uživatelé a skupiny mohou dostat specifické příkazy ke spouštění, aby mohli plnit své povinnosti, aniž by měli plná oprávnění správce.

Syntaxe

Syntaxe příkazu sudo je:

$ sudo [options] {command}

Pokud při spouštění příkazu sudo narazíte na níže uvedenou chybu:

sudo: command not found

můžete zkusit nainstalovat balíček sudo, jak je uvedeno níže, podle vaší volby distribuce.

Distribuce Příkaz
Debian apt-get install sudo
Ubuntu apt-get install sudo
Alpine apk přidat sudo
Arch Linux pacman -S sudo
Kali Linux apt-get install sudo
CentOS yum nainstalovat sudo
Fedora dnf install sudo
Raspbian apt-get install sudo

Příklady příkazů sudo

1. Spusťte příkaz jako superuživatel:

$ sudo less /var/log/syslog

2. Upravte soubor jako superuživatel pomocí výchozího editoru:

$ sudo --edit /etc/fstab

3. Spusťte příkaz jako jiný uživatel a/nebo skupina:

$ sudo --user=user --group=group id -a

4. Opakujte poslední příkaz s předponou `sudo` (pouze v `bash`, `zsh` atd.):

$ sudo !!

5. Spusťte výchozí shell s právy superuživatele a spusťte soubory specifické pro přihlášení (`.profile`, `.bash_profile` atd.):

$ sudo --login

6. Spusťte výchozí shell s oprávněními superuživatele beze změny prostředí:

$ sudo --shell

7. Spusťte výchozí shell jako určený uživatel, načte uživatelské prostředí a načte soubory specifické pro přihlášení (`.profile`, `.bash_profile` atd.):

$ sudo --login --user=user

8. Seznam povolených (a zakázaných) příkazů pro volajícího uživatele:

$ sudo --list

Závěr

jak přesně funguje program sudo, který umí něco udělat? Je to jednodušší, než si myslíte! Viz následující kód:

$ which sudo
/usr/bin/sudo
$ ls -l $(which sudo)
-rwsr-xr-x 1 root root 145040 Jun 13  2022 /usr/bin/sudo

Upozorňujeme, že binární spustitelný soubor sudo je ve skutečnosti program setuid-root! Přemýšlejte o tom:kdykoli spustíte program pomocí sudo, proces sudo se okamžitě spustí s oprávněním root – žádné heslo, žádné starosti. Ale samozřejmě kvůli bezpečnosti musí uživatel zadat heslo; jakmile jej zadají správně, sudo pokračuje ve vykonávání a provádí příkaz, který chcete – jako root. Pokud uživatel nezadá heslo správně (obvykle do tří pokusů), sudo přeruší provádění.


Linux
  1. ifrename:příkaz nenalezen

  2. nc:příkaz nenalezen

  3. visudo:příkaz nenalezen

  1. sudoedit:příkaz nenalezen

  2. rm:příkaz nenalezen

  3. mv:příkaz nenalezen

  1. Subscription-manager:příkaz nenalezen

  2. ln:příkaz nenalezen

  3. sudo:npm:příkaz nenalezen