Č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 spremenljivkaPATHje napačna. Z ukazomecho $PATHpreveri, ali vsebuje/usr/bin, in preglej datoteko~/.bashrcali~/.profile. - V vsebniku Docker: vsebniki večinoma že tečejo kot root, zato tam
sudosploh ni potreben; ukaz je dovolj zagnati brezsudo.
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