Su ja Sudo Programmi

Allikas: Kuutõrvaja
Redaktsioon seisuga 7. november 2006, kell 00:26 kasutajalt Jj (arutelu | kaastöö)

Programmi käivitamine teise kasutaja õigustes

UNIXis on olemas üks ja ainus juurkasutaja ja põhimõtteliselt ei ole vaja püüda teistele kasutajatele temaga võrdseid õigusi anda. Kui tavakasutajal on vaja sooritada tegevusi mida muidu ainult juurkasutaja või mõni teine tavakasutaja tohib, siis on selleks kaks programmi: Su ja Sudo.

Su kasutamine eeldab, et teatakse teise kasutaja parooli, mis tuleb käsurealt sisestada.

Sudo kasutamisel pole vaja paroole sisestada, kuid konfiguratsioonifailis tuleb näidata, millistel kasutajatel on millised õigused. Sudo kasutamine toob kaasa suurema riski, kuigi on kasutajale mugavam.

Su

Su võimaldab kasutajal käivitada programme teise kasutaja õigustes. '-' võtme kasutamisel käivitakse login koorik, mis näiteks tähendab, et sattutakse kasutaja kodukataloogi.

Su süntaks on selline

su [ - ] [ kasutajanimi ] [ -c 'kask1; kask2' ] 

Esitame näiteid:

Kasutaja käivitab kasutaja priit kooriku

bash~$ su - priit

Kasutaja kävitab kasutaja priit õigustes programmi

bash~$ su priit -c 'yes > /dev/null &'

mille saab ka ära tappa

bash~$ su priit -c 'killall yes'

Su kasutamisel peab arvestama, et tavakasutajalt küsitakse alati teise kasutaja parooli, kuid juurkasutajalt mitte.

Kui Su käivitamisel ei näidata ära kasutajanime, siis tähendab see, et soovitakse tegutseda juurkasutaja õigustes; kui jäetakse näitamata käsk, siis käivitatakse kasutaja koorik.

Sudo

Sudo võimaldab vastavalt konfiguratsioonifailis kindlaksmääratud piirangutele kasutajal teise kasutaja õigustes programme käivitada. Tüüpiliselt on seda vaja andmaks tavakasutajaile võimalust muidu ainult juurkasutaja poolt käivitatavaid programme käivitada. Sudo võimaldab ka sellist asjakorraldust, et kasutaja saab käivitada teise kasutaja õigustes programmi ilma, et ta teise kasutaja parooli peaks sisestama.

Sudo konfiguratsioonifail

Mida keegi teha tohib, on kindlaks määratud faili /etc/sudoers sisuga, mille redigeerimiseks tuleb kasutada programmi visudo. Põhjusel, et visudo kontrollib seadistusfaili süntaktiliselt.

Kuivõrd Sudo kasutamise eelduseks on sobiv seadistusfail, siis vaatleme mõne lihtsa näite varal, milliseid olukordi saab tekitada.

Loome tingimused, kus kasutaja priit saab muuta kõigi kasutajate UNIXi ja Samba paroole kusjuurel temalt ei küsita eelnevalt parooli

root    ALL=(ALL) ALL
Cmnd_Alias AUTENTIMINE = /usr/bin/passwd,/usr/local/samba/bin/smbpasswd
priit ALL=NOPASSWD: AUTENTIMINE

Kasutamine

Kui priidul on Sudo abil omistatud näidatud privileegid, siis saab ta neid kasutada näiteks selliselt, muutes kasutaja mart UNIXi parooli

bash~$ sudo passwd mart

© EENet 2000