1. Sissejuhatus: Mis on sudo?
sudo põhisisu ja roll
Linuxi ja Unixi süsteemides on 「sudo」 üks tähtsamaid käske.
「sudo」on lühend sõnadest「superuser do」ning see on tööriist, mis võimaldab ajutiselt kasutada administraatori (root) õigusi teatud käskude täitmiseks. Tavakasutajal puuduvad tavaliselt õigused teha süsteemitasemel muudatusi (näiteks tarkvara paigaldamine või süsteemi seadistuste muutmine). Kuid kasutades sudo käsku, on võimalik piiratud ulatuses neid õigusi ajutiselt kasutada.
Näiteks saab järgmise käsu abil käivitada apt käsu root-õigustega:
sudo apt updateSeega toimib sudo turvalise administraatori õiguste kasutamise mehhanismina, võimaldades ühendada süsteemi turvalisuse ja kasutusmugavuse.
Erinevus su käsuga
Lisaks sudo-le on olemas veel su käsk, millel on sarnane eesmärk, kuid selged erinevused.
suon lühend sõnast “substitute user” ja see võimaldab lülituda teise kasutaja (peamiselt root) peale. Sellega muutud täielikult teiseks kasutajaks.- Seevastu
sudovõimaldab jäädes oma kasutajaks, ajutiselt täita käsku administraatori õigustes.
Teisisõnu, su vahetab kasutajat kogu sessiooniks, samal ajal kui sudo annab õigusi vaid konkreetsele käsule. See on oluline erinevus ka turvalisuse mõttes, mistõttu enamik tänapäevaseid Linuxi distributsioone eelistab vaikimisi kasutada sudo-t.
Sudo kasutatavad peamised Linuxi distributsioonid
sudo on vaikimisi kasutusel paljudes Linuxi distributsioonides, eriti järgmistes:
- Ubuntu-põhised (nt Ubuntu, Linux Mint)
→ Algseadistuses ei logita otse root kasutajana sisse, vaid kasutatakse sudo. - Debiani-põhised
→ Sudo saab lubada vajadusel, kuid sageli soovitatakse seda turvakaalutlustel. - Fedora, CentOS, Red Hat-põhised
→ Võimalik kasutada root kasutajat, kuid sudo kasutamine on samuti levinud.
Eriti Ubuntu puhul on root kasutaja algselt keelatud ning kogu süsteemi haldamine toimub sudo kaudu. Seetõttu on sudo mõistmine Ubuntu kasutajatele vältimatu.
Miks otsitakse “sudo sudo”?
Otsingusõna “sudo sudo” võib tunduda üleliigne, kuid sellel võib olla järgmine taust:
- Algajad, kes soovivad rõhutada või lihtsalt teada saada, mis on sudo ja kuidas seda kasutada
- Vigade otsing, nt
sudo: sudo: command not found - Juhtumid, kus skriptis või torustikus kasutatakse kogemata topelt-sudo, ning tahetakse teada, mis see tähendab
Järgmistes peatükkides selgitame põhjalikult sudo õiget kasutamist, seadistamist ja probleemide lahendamist.
2. Sudo käsu põhiline kasutamine
sudo põhisüntaks
sudo süntaks on väga lihtne.
sudo [valikud] käskNäiteks süsteemi paketiteabe uuendamiseks:
sudo apt updateSee tähendab, et “apt update” täidetakse root-õigustes.
Parooli küsimise mehhanism ja vahemälu
Kui kasutad sudo-t esimest korda või pärast teatud ajavahemikku, küsib süsteem kasutaja parooli. See suurendab turvalisust ja takistab väärkasutust.
Pärast parooli sisestamist jääb see lühikeseks ajaks (Ubuntu vaikimisi 5 minutit) vahemällu ning selle aja jooksul ei küsita uuesti. Seda ajavahemikku saab muuta sudoers failis.
Levinumad valikud
sudo-l on palju valikuid, mis muudavad käsu kasutamise paindlikumaks. Siin on mõned enimkasutatavad:
-u (teise kasutajana käivitamine)
Vaikimisi täidetakse käsk root-õigustega, kuid -u võimaldab käivitada käsku mõne teise kasutajana.
sudo -u www-data whoamiVäljundiks on www-data, mis näitab, et käsk käivitati selle kasutaja alt.
-s (shelli avamine)
Järgmise käsuga saab ajutiselt avada shelli root-õigustes:
sudo -sOle root-shellis töötades ettevaatlik.
-i (täielik root seanss)
See avab täieliku root-keskkonna, sealhulgas root’i keskkonnamuutujad.
sudo -i-l (lubatud käskude kuvamine)
Saad näha, milliseid käske tohib sudo kaudu täita.
sudo -lSee aitab kontrollida õigusi ning testida seadistusi.
Algajatele olulised tähelepanekud
sudojärel peab olema tühik. Ntsudoapton vale.- Mitu käsku saab täita, kui need tsitaatidesse panna või semikooloniga eraldada.
sudoabil GUI rakendusi käivitades võib seadistusfailide kahjustumine tekkida (ntsudo gedit), seega ole ettevaatlik.
3. sudoers fail ja juurdepääsu kontroll
Mis on sudoers fail?
sudo töö käitumist määrab süsteemis asuv /etc/sudoers fail. Seal on kirjas, millised kasutajad võivad sudo kaudu milliseid käske käivitada.
Võimalik on anda kasutajatele õigused ainult teatud käskude jaoks.
See tagab minimaalsete õiguste põhimõtte ja suurendab turvalisust.
Turvaline redigeerimine visudo abil
/etc/sudoers faili ei tohi otse tekstiredaktoriga muuta.
Vale süntaks võib muuta sudo kasutamatuks, mistõttu soovitatakse alati kasutada visudo käsku.
sudo visudovisudo kontrollib süntaksi enne salvestamist ning võimaldab ohutult teha muudatusi.
Põhisüntaks ja näited
sudoers faili põhisüntaks on järgmine:
kasutajanimi hostinimi = (käitaja) käskNäide:
alice ALL=(ALL:ALL) ALLSee lubab kasutajal “alice” täita kõiki käske kõigi kasutajate nimel kõigis hostides.
Paremini piiratud näide:
bob ALL=(ALL) /usr/bin/systemctl restart nginxSee võimaldab kasutajal “bob” käivitada ainult “nginx taaskäivitamist” sudo kaudu.
Grupipõhine kontroll: sudo grupp
Enamikus distributsioonides, sh Ubuntus, saavad sudo õigused kõik kasutajad, kes kuuluvad sudo gruppi.
%sudo ALL=(ALL:ALL) ALL%sudo abil saab õigusi anda tervele grupile.
Kasutaja lisamiseks sudo gruppi kasuta:
sudo usermod -aG sudo kasutajanimiNOPASSWD valiku kasutamine ja ohud
Kui soovid, et sudo ei küsiks iga kord parooli, lisa NOPASSWD valik.
alice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginxNii saab kasutaja “alice” taaskäivitada nginx-i ilma paroolita.
See on turvarisk, seega kasuta ainult hädavajalike käskude jaoks ja mitte koos ALL õigustega.
4. Sudo edasijõudnud kasutusviisid
Käsu täitmine teise kasutajana
Vaikimisi täidab sudo käsu root-õigustes, aga sobiva valikuga saad täita käsu teise kasutajana.
Näiteks veebiserveri “www-data” kasutajana:
sudo -u www-data whoamiTulemus on www-data – käsk täideti selle kasutaja alt.
See võimaldab mugavalt testida erinevaid õigusi ja keskkondi.
Töö torude ja ümbersuunamistega
Algajad võivad hätta jääda sudo koos ümbersuunamise (>) või torudega (|).
sudo echo "test" > /etc/test.confSiin käivitatakse echo sudo õigustes, kuid ümbersuunamine toimub tavalise kasutaja õigustes, mistõttu kirjutamine ebaõnnestub.
Õige viis on kasutada tee käsku:
echo "test" | sudo tee /etc/test.confNii toimub kirjutamine sudo õigustes.
sudo skriptides
Skriptides, kus on vaja administraatoriõigusi, lisa sudo vajalikule käsule.
Kui skripti peaks käivitama tavakasutaja, lisa sudo ainult sinna, kuhu on vaja.
Näide (install.sh):
#!/bin/bash
echo "Installing package..."
sudo apt install -y nginxVõid skripti alguses kontrollida, kas oled root:
if [ "$EUID" -ne 0 ]; then
echo "See skript peab jooksma root kasutajana"
exit 1
fiNii on skriptide kasutamine turvalisem.
Kasulikud käsklused
sudo !!
→ Korrake viimast käsku sudo abil. Näiteks:
apt update
sudo !!See vastab sudo apt update-le.
sudo -k
→ Kustuta sudo paroolivahemälu käsitsi. Kasulik enne pausi või süsteemi lahkumist.sudo -v
→ Pikendab sudo õigusi jooksvaks sessiooniks – kasulik pika töö puhul.
5. Turvalisus ja parimad praktikad
Minimaalsete õiguste põhimõte
sudo suurim eesmärk on töötada ainult hädavajalike õigustega.
Ehk siis, ära kasuta pidevalt root’i, vaid ainult siis, kui vaja.
Näiteks:
- Luba kasutajal sudo kaudu täita ainult teatud käskusid (nt
systemctl restart nginx) - Kasuta NOPASSWD ainult siis, kui see on vältimatu
- Halda õigusi grupipõhiselt (
sudogrupp)
Logimine ja auditeerimine
sudo logib kõik käsud. See võimaldab jälgida, kes ja millal mida tegi.
Põhilised logifailid (distro järgi):
/var/log/auth.log(Ubuntu, Debian-põhised)journalctl(systemd-põhised)
Sudo ajaloo vaatamiseks Ubuntus:
grep 'sudo' /var/log/auth.logVõi:
journalctl _COMM=sudoSee aitab tuvastada nii vigu kui ka pahatahtlikku tegevust.

sudo turvaviga (CVE-2021-3156)
sudo on usaldusväärne tööriist, kuid ka sellel on olnud tõsiseid turvavigu.
Üks kuulsamaid näiteid on CVE-2021-3156 (“Baron Samedit”), mis võimaldas teatud tingimustel tavalisel kasutajal saada root-õigusi.
See viga on parandatud, kuid see näitab, et:
- sudo ja muud kriitilised paketid peavad alati olema uuendatud
- Kontrolli regulaarselt ametlikke saite ja turvaandmebaase
sudo alternatiiv: doas
Mõnes minimaalses või turvalisusele orienteeritud Linuxi keskkonnas kasutatakse sudo asemel doas käsku.
doas on OpenBSD-st pärit lihtne tööriist, mille seadistus on oluliselt lühem ja selgem kui sudo-l.
Näide:
doas apt updateSeadistusfail /etc/doas.conf on lihtne, näiteks:
permit nopass :wheelLinuxis pole doas alati vaikimisi saadaval, seega võib vaja minna lisapaigaldamist.
Vali sudo või doas vastavalt oma vajadustele ja poliitikale.
6. Levinumad vead ja probleemide lahendamine
“Kasutaja pole sudoers failis” viga
kasutajanimi is not in the sudoers file. This incident will be reported.See viga tekib, kui kasutajal pole õigust sudo kasutada, tihti uute kasutajate puhul, kes pole veel sudo gruppi lisatud.
Lahendus:
- Logi sisse teise root-õigustega kasutajana
- Lisa vajalik kasutaja sudo gruppi
sudo usermod -aG sudo kasutajanimiPärast seda logi uuesti sisse, et õigused kehtiksid.
Ümbersuunamise/toru “Permission denied” viga
Permission deniedSee viga tekib, kui üritad sudo abil käivitada käsku, mis kirjutab faili, kuid ümbersuunamine toimub tavalise kasutaja õigustes.
Vale näide:
sudo echo "test" > /etc/test.confÕige viis:
echo "test" | sudo tee /etc/test.confMitmerealiste kirjutuste jaoks kasuta sudo tee või sudo bash -c:
sudo bash -c 'echo "line1" > /etc/test.conf'sudoers faili vigane muutmine
Kui muudat sudoers faili valesti, võib sudo muutuda kasutamatuks – see on väga ohtlik.
Lahendus:
- Logi sisse root-kasutajana (Ubuntus on root vaikimisi keelatud)
- Korrigeeri fail järgmise käsuga:
pkexec visudoKui pkexec pole saadaval, käivita süsteem taasterežiimis ja paranda /etc/sudoers fail käsitsi.
Vigade vältimiseks kasuta alati:
sudo visudo“sudo: command not found”
sudo: command not foundSee viga tekib siis, kui sudo pole paigaldatud või seda ei leita PATH-ist.
Lahendus:
- Logi sisse rootina ja paigalda sudo uuesti:
apt update
apt install sudo- Või kasuta otseteed /usr/bin/sudo:
/usr/bin/sudo ls7. KKK: sagedased sudo küsimused
K1. Mis vahe on sudo ja su käsul?
Vastus:sudo annab ajutiselt õigused konkreetse käsu jaoks, su lülitab kasutajat täielikult (peamiselt root’iks).
sudo: jääd enda kasutajaks, õigusi tõstetakse vaid vajaduselsu: lülitud täielikult teiseks kasutajaks
Turvalisuse ja auditeerimise tõttu soovitatakse tänapäeval kasutada sudo-t.
K2. Kas sudo kasutamiseks on vaja root parooli?
Vastus:
Ei, tavaliselt tuleb sisestada omaenda kasutaja parool, mitte root’i parool.
See vähendab parooli lekkimise riski ja muudab tegevuste jälgimise lihtsamaks.
K3. Kuhu sudo logid salvestatakse?
Vastus:
Enamikes distributsioonides salvestatakse sudo tegevuslogid järgmistes kohtades:
- Ubuntu/Debian:
/var/log/auth.log - RHEL/CentOS:
/var/log/secure - systemd süsteemid:
journalctl _COMM=sudo
Nii saab alati tuvastada, kes ja mida tegi.
K4. Muutsin sudoers faili valesti – mida teha?
Vastus:
Muuda alati sudoers faili sudo visudo kaudu.
Kui sudo muutub kasutamatuks, proovi järgmist:
- Logi sisse root’ina ja paranda visudo kaudu
- Ubuntus käivita süsteem taasterežiimis ning paranda fail
pkexec visudo(kui polkit on lubatud)
Kontrolli alati süntaksit ja testi muudatused läbi.
K5. Kas on võimalik saada root-õigusi ilma sudo-ta?
Vastus:
See on võimalik, kuid see pole soovitatav turvariskide tõttu.
Näiteks:
- Kasutades
sukäsku ja sisestades root’i parooli - Logides otse sisse root kasutajana (Ubuntu puhul vaikimisi keelatud)
Enamik Linuxi distributsioone eelistab root’i otsekasutust vältida ja kasutada sudo-t.
K6. Kas sudo abil võib käivitada GUI rakendusi?
Vastus:
Üldiselt seda ei soovitata. Näiteks sudo gedit võib rikkuda seadistusfaile või tekitada õiguste konflikte.
GUI jaoks on parem kasutada gksudo või pkexec (sõltuvalt keskkonnast):
pkexec gedit8. Kokkuvõte
Mõista sudo rolli õigesti
Selles artiklis selgitasime põhjalikult sudo käsku, selle rolli, kasutamist, seadistusi, parimaid praktikaid, levinumaid vigu ja KKK-d Linuxi/Unixi süsteemides.
sudo pole lihtsalt “midagi, mida lisada käsu ette”, vaid oluline ligipääsu juhtimise mehhanism, mis kaitseb süsteemi turvalisust.
Õige kasutus aitab vältida probleeme
Tähtsamad punktid turvaliseks sudo kasutamiseks:
- Kasuta minimaalset vajalikke õigusi (minimaalsete õiguste põhimõte)
- Halda seadistusi alati visudo kaudu
- Kinnita ja jälgi logisid
- Ole ettevaatlik torude/ümbersuunamiste kasutamisel
- Väldi sudo kasutamist GUI rakenduste puhul
Neid põhimõtteid eirates võib tulla ette olukordi, kus failid saavad rikutud, seaded kaovad või sudo muutub kasutamatuks.
Vali endale sobiv haldusstiil
Linux on väga paindlik süsteem. Sa võid kasutada sudo’t või alternatiive nagu doas.
Vali endale sobiv stiil vastavalt haldus- ja turvapoliitikale.
Lõpetuseks
sudo mõistmine on esimene samm Linuxi mõistmisel.
Tegemist pole lihtsalt mugava käsuga, vaid süsteemi “võtmega”, mis aitab kõike turvaliselt hallata. Õpi seda kasutama õigesti!
Loodan, et järgmisel korral, kui Linuxit kasutad, teed seda suurema kindlusega ning teadmistega.



