Ubuntu/Debian: napaka "sudo: command not found"

Linux Branje: 1 min

Če po sudo, napisanem pred ukazom, dobiš sporočilo o napaki „sudo: command not found” (v sistemu v drugem jeziku ustrezno prevedeno), program sudo v sistemu ni nameščen. To se najpogosteje zgodi pri minimalnih namestitvah Debian, na VPS in v vsebnikih Docker: namestitveni program Debian namreč ne namesti paketa sudo, če si ob namestitvi vnesel geslo root. Ubuntu ga privzeto vsebuje, tam je napaka redka.

1. Prijavi se kot uporabnik root

Za namestitev sudo potrebuješ skrbniške pravice. Če si se prek SSH prijavil kot root, preskoči na naslednji korak. Če z lastnim uporabnikom, preklopi na root:

su -

Program zahteva geslo uporabnika root (ne tvojega gesla). Zaradi stikala - dobiš celotno okolje uporabnika root, zato bodo na voljo tudi ukazi pod /usr/sbin.

2. Namesti paket sudo

apt update
apt install sudo

3. Svojemu uporabniku dodeli pravice sudo

V Debianu in Ubuntuju lahko ukaze kot skrbnik zaganjajo člani skupine sudo. Dodaj vanjo svojega uporabnika (namesto felhasznalonev vpiši svojega):

usermod -aG sudo felhasznalonev

Članstvo v skupini začne veljati šele ob novi prijavi: odjavi se in se znova prijavi. Nato preveri:

groups
sudo whoami

Če drugi ukaz odgovori root, nastavitev deluje. O ustvarjanju uporabnikov in dodelitvi pravic sudo podrobno piše ločen članek.

Če je sudo nameščen, a vseeno dobiš napako

  • „felhasznalonev is not in the sudoers file”: sudo deluje, a uporabnik ni v skupini sudo. Kot root zaženi ukaz iz 3. koraka.
  • sudo teče le s celotno potjo (/usr/bin/sudo): okoljska spremenljivka PATH je napačna. Z ukazom echo $PATH preveri, ali vsebuje /usr/bin, in preglej datoteko ~/.bashrc ali ~/.profile.
  • V vsebniku Docker: vsebniki večinoma že tečejo kot root, zato tam sudo sploh ni potreben; ukaz je dovolj zagnati brez sudo.

V AlmaLinux in Rocky Linux

V sistemih na osnovi Red Hat je ime paketa enako, upravitelj paketov in skupina pa sta drugačna:

dnf install sudo
usermod -aG wheel felhasznalonev
Nazaj: Linux – članki (76)