Sudo ja sudoers: Difference between revisions
(34 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== Autor == | == Autor == | ||
Riti Ruul AK32 | Riti Ruul AK32 | ||
== Sudo == | == ''Sudo'' == | ||
Mis vahe on käskudel ''su'' ja ''sudo''? | Mis vahe on käskudel ''su'' ja ''sudo''? | ||
''Su'' kasutamine eeldab, et teatakse teise kasutaja parooli. | ''Su'' kasutamine eeldab, et teatakse teise kasutaja parooli. | ||
''Sudo'' kasutamisel pole | ''Sudo'' kasutamisel pole vaja teada teise kasutaja parooli. Seda juhul, kui konfiguratsioonifailis on ära näidatud, millisel kasutajal on millised õigused. [http://kuutorvaja.eenet.ee/wiki/Su_ja_Sudo_Programmi] | ||
Graafiliselt saab tavaksutajale anda juurkasutaja õiguseid: '''Süsteem->Administreerimine->Kasutajad ja grupid''', | Graafiliselt saab tavaksutajale anda juurkasutaja õiguseid: '''Süsteem->Administreerimine->Kasutajad ja grupid''', | ||
== | == ''Sudo'' abi == | ||
'' | man sudo | ||
== ''Sudoers'' == | |||
Sudoers on konfguratsioonifail, kus on ära määratud, kes mida teha | 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''' | '''Vaikimisi ''sudoers'' fail''' [https://help.ubuntu.com/community/Sudoers] | ||
# /etc/sudoers | # /etc/sudoers | ||
# | # | ||
# | # Selle faili redigeerimiseks on vaja programmi ''visudo'' ja redigeerida saab juurkasutajana. | ||
# | # | ||
# | # ''Sudoers''' faili kirjutamiseks kasuta ''man'' käsku. | ||
# | # | ||
Line 58: | Line 59: | ||
'''Näide 3.''' | '''Näide 3.''' | ||
Teatud kasutajatele juurdepääsu andmine konkreetsetele failidele. | Teatud kasutajatele juurdepääsu andmine konkreetsetele failidele. [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch09_:_Linux_Users_and_Sudo] | ||
peeter, %operator ALL= /sbin/ | peeter, %operator ALL= /sbin/ | ||
See käsk võimaldab peetril ja kõikidel kasutajatel, kes kuuluvad gruppi ''oprator'' | 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.''' | '''Näide 4.''' | ||
Juurdepääsu võimaldamine | 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.''' | '''Näide 5.''' | ||
''Aliase'' kasutamine ''sudoers'' failis. [http://www.gratisoft.us/sudo/sample.sudoers] | |||
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 nimed, kellele on vaja konkreetne õigus anda. Kui ''alias'' on määratud, siis õiguse andmiseks peab kasutama ainult ''alias'' 't. | |||
# User alias specification | # User alias specification | ||
User_Alias FULLTIMERS = millert, mikef, dowdy | User_Alias FULLTIMERS = millert, mikef, dowdy | ||
User_Alias PARTTIMERS = bostley, jwfox, crawl | User_Alias PARTTIMERS = bostley, jwfox, crawl | ||
User_Alias WEBMASTERS = will, wendy, wim | User_Alias WEBMASTERS = will, wendy, wim | ||
User_Alias | User_Alias ADMINS = peeter, juku, juhan, %operator | ||
# Runas alias specification | # Runas alias specification | ||
Line 107: | Line 110: | ||
/usr/bin/chfn | /usr/bin/chfn | ||
== | == ''Sudoers'' abi == | ||
man sudoers | man sudoers | ||
Line 116: | Line 116: | ||
== Kasutatud materjal == | == Kasutatud materjal == | ||
http:// | * http://kuutorvaja.eenet.ee/wiki/Su_ja_Sudo_Programmi | ||
* https://help.ubuntu.com/community/Sudoers | |||
* http://www.gratisoft.us/sudo/sample.sudoers | |||
* http://www.scribd.com/doc/2211313/Kasutajaoigused-Ubuntu-Linuxis | |||
http:// | * http://manpages.ubuntu.com/manpages/karmic/man8/sudo.8.html | ||
http:// | * http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch09_:_Linux_Users_and_Sudo | ||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 12:35, 9 May 2010
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 vaja teada teise kasutaja parooli. 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
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 # # Selle faili redigeerimiseks on vaja programmi visudo ja redigeerida saab juurkasutajana. # # Sudoers' faili kirjutamiseks kasuta man käsku. # 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 nimed, kellele on vaja konkreetne õigus anda. Kui alias on määratud, siis õiguse andmiseks peab kasutama ainult alias 't.
# 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