Sudo ja sudoers: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rruul (talk | contribs)
Rruul (talk | contribs)
 
(7 intermediate revisions by the same user not shown)
Line 9: Line 9:
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 parooli vaja teada. Seda juhul, kui konfiguratsioonifailis on ära näidatud, millisel kasutajal on millised õigused. [http://kuutorvaja.eenet.ee/wiki/Su_ja_Sudo_Programmi]
''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''',
Line 18: Line 18:


== ''Sudoers'' ==
== ''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''.
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''.
Line 27: Line 25:
  # /etc/sudoers
  # /etc/sudoers
  #
  #
  # This file MUST be edited with the 'visudo' command as root.
  # Selle faili redigeerimiseks on vaja programmi ''visudo'' ja redigeerida saab juurkasutajana.
  #
  #  
  # See the man page for details on how to write a sudoers file.
  # ''Sudoers''' faili kirjutamiseks kasuta ''man'' käsku.
  #
  #
   
   
Line 62: Line 60:
'''Näide 3.'''
'''Näide 3.'''
Teatud kasutajatele juurdepääsu andmine konkreetsetele failidele. [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch09_:_Linux_Users_and_Sudo]
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/, /usr/sbin, /usr/local/apps/check.pl
  peeter, %operator ALL= /sbin/
See käsk võimaldab peetril ja kõikidel kasutajatel, kes kuuluvad gruppi ''oprator'' pääseda faili ''/sbin'', ''/usr/sbin'' ja ''/usr/local/apps/check.pl''
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 parooliga või ilma.
Juurdepääsu võimaldamine parooliga või ilma. [man sudoers]
  ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
  ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
Selline käsk võimaldab kasutajal ''ray'''l juurkasutajana (masinast ''rushmore'') siseneda kaustadesse''/bin/kill'', ''/bin/ls'', ''/usr/bin/lprm'' ilma, et ta peaks ennast audentima.
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 siseneda kausta ''/bin/kill'' parooli sisestamata ja kaustadesse ''/bin/ls'', ''/usr/bin/lprm'' sisenemiseks sisestab parooli, siis peame kirjutama rea:
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
  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]
''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

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

Kasutatud materjal