Linuxi programmi käivitamine teiste kasutaja õigustes
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 kest, mis näiteks tähendab, et satutakse kasutaja kodukataloogi.
Su süntaks on selline
su [ - ] [ kasutajanimi ] [ -c 'kask1; kask2' ]
Näide:
Kasutaja käivitab kasutaja meelis kestas:
bash~$ su - meelis
Kasutaja kävitab kasutaja meelis õigustes programmi:
bash~$ su meelis -c 'yes > /dev/null &'
Kasutaja protsesside tapmisega:
bash~$ su meelis -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 õigustes.
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 Linuxi ja Samba paroole, kusjuures 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
Aga selline sektsioon tagab kasutajatele priit ja mart pgpool programmi käivitamise õiguse kasutaja postgres õigustes
User_Alias PGPOOL_USERS = priit, mart Cmnd_Alias PGPOOL_CMD = /usr/local/pgpool2/bin/pgpool Host_Alias ARENDUS = www.tartu.loomaaed.ee PGPOOL_USERS ARENDUS = (postgres) NOPASSWD: PGPOOL_CMD
Kasutamine
Kui priidul on Sudo abil omistatud näidatud privileegid, siis saab ta neid kasutada näiteks selliselt, muutes kasutaja mart Linuxi parooli
$ sudo passwd mart
pgpool kasutamiseks ütleb kasutaja mart
$ sudo -u postgres /usr/local/pgpool2/bin/pgpool
Lisades võtme -H loetakse kodukataloogist punktifaile (vähemalt mingil määral, TODO)
$ sudo -H -u mart bash