Sudo ja sudoers
UNIX on oma olemuselt ülesse ehitatud nõnda, et süsteemis on ainult üks juurkasutaja. Selleks, et tavakasutaja saaks süsteemis midagi teha, peab ta autentima ennast juurkasutajaks käsuga su või sudo.
Autor
Riti Ruul AK32
Sudo
Mis vahe on käskudel su ja sudo? Su kasutamine eeldab, et teatakse teise kasutaja parooli. Sudo kasutamisel pole parooli vaja teada. Seda juhul, kui konfiguratsioonifailis on ära näidatud, millisel kasutajal on millised õigused. [1]
Graafiliselt saab tavaksutajale anda juurkasutaja õiguseid: Süsteem->Administreerimine->Kasutajad ja grupid,
Sudo abi
man sudo
Sudoers
Näiteid veel juurde tuua ja põhjalikumalt
Sudoers on konfguratsioonifail, kus on ära määratud, kes mida teha tohib. Antud faili muutmiseks on meil vaja programmi visudo. Põhjus selleks on väga proosaline. Nimelt visudo kontrollib muudetud faili süntaktiliselt. Sudoers fail asub /etc/sudoers.
Vaikimisi sudoers fail [2]
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Uncomment to allow members of group sudo to not need a password # %sudo ALL=NOPASSWD: ALL # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL
Viimane rida (%admin ALL=(ALL) ALL) näitab, et kasutajagrupile admin on kõik lubatud.
Näide 1. Konkreetsetele kasutajatele ligipääsu andmine. Järgneva rea sisestamisel sudoers faili annan jukule ja juhanile täieliku juurdepääsu õiguse.
juku, juhan ALL=(ALL) ALL
Sellise rea sisestamine ei ole hea, kuna see võimaldab jukul ja juhanil süsteemis toimetada nii nagu nemad heaks arvavad.
Näide 2. Kasutajatele, kes kuuluvad gruppi "totud", on maksimaalne ligipääs kõikidele käskudele ja ei pea sealjuures sisestama parooli.
%totud ALL=(ALL) NOPASSWD: ALL
Näide 3. Teatud kasutajatele juurdepääsu andmine konkreetsetele failidele. [3]
peeter, %operator ALL= /sbin/
See käsk võimaldab peetril ja kõikidel kasutajatel, kes kuuluvad gruppi oprator käivitada faile katalogist /sbin/ käivitada kõiki programme root õigustes
Näide 4. Juurdepääsu võimaldamine parooliga või ilma. [man sudoers]
ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
Selline rida võimaldab kasutajal ray 'l juurkasutajana (masinast rushmore) käivitada käsud /bin/kill, /bin/ls, /usr/bin/lprm ilma, et ta peaks ennast audentima. Kui me tahame, et ray saaks käivitada käsku /bin/kill parooli sisestamata ja käivitada käskusid /bin/ls, /usr/bin/lprm parooli sisestamata, siis peame kirjutama rea:
ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Näide 5. Aliase kasutamine sudoers failis. [4]
Miks on alias 'te kasutamine hea? Kui süsteemis on palju kasutajaid ja kui kasutajatele anda hüüdnimesid, siis on administraatoril lihtsam kasutajatele õiguseid määrata (minu arvates). Kui alias ei ole määratud, siis peab mingi õiguse andmiseks kirjutama kõikide kasutajate nimesid, kellele on vaja konkreetne õigus anda.
# User alias specification User_Alias FULLTIMERS = millert, mikef, dowdy User_Alias PARTTIMERS = bostley, jwfox, crawl User_Alias WEBMASTERS = will, wendy, wim User_Alias ADMINS = peeter, juku, juhan, %operator # Runas alias specification Runas_Alias OP = root, operator Runas_Alias DB = oracle, sybase # Host alias specification Host_Alias SPARC = bigtime, eclipse, moet, anchor:\ SGI = grolsch, dandelion, black:\ ALPHA = widget, thalamus, foobar:\ HPPA = boa, nag, python Host_Alias CUNETS = 128.138.0.0/255.255.0.0 Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0 Host_Alias SERVERS = master, mail, www, ns Host_Alias CDROM = orion, perseus, hercules # Cmnd alias specification Cmnd_Alias DUMPS = /usr/sbin/dump, /usr/sbin/rdump, /usr/sbin/restore, \ /usr/sbin/rrestore, /usr/bin/mt Cmnd_Alias KILL = /usr/bin/kill Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm Cmnd_Alias SHUTDOWN = /usr/sbin/shutdown Cmnd_Alias HALT = /usr/sbin/halt, /usr/sbin/fasthalt Cmnd_Alias REBOOT = /usr/sbin/reboot, /usr/sbin/fastboot Cmnd_Alias SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \ /usr/local/bin/tcsh, /usr/bin/rsh, \ /usr/local/bin/zsh Cmnd_Alias SU = /usr/bin/su Cmnd_Alias VIPW = /usr/sbin/vipw, /usr/bin/passwd, /usr/bin/chsh, \ /usr/bin/chfn
Sudoers abi
man sudoers