Ero sivun ”Sudoers” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
 
 
(17 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Sudoers-tiedostossa määritetään asetukset ja komennot joita tavallinen käyttäjä voi suorittaa toisen käyttäjän oikeuksilla (oletuksena root).
'''/etc/sudoers'''-[[asetustiedosto]]ssa määritetään asetukset ja komennot, joita tavallinen käyttäjä voi suorittaa toisen käyttäjän (yleensä pääkäyttäjän) oikeuksilla käyttäen [[sudo]]-ohjelmaa. Jotta tiedoston muokkaus on turvallista tulee sitä muokata [[visudo]] -ohjelmalla, joka muunmuassa tarkastaa syötteiden oikeellisuuden.
 
==Peruskäyttö==
Perussyntaksi oikeuksien määrittämiseen sudoers-tiedostossa on:
tunnus työasema=(käyttäjä jona komento ajetaan) komento(t)
 
Esimerkiksi annettaan käyttäjälle esko oikeus sammuttaa kone:
esko ALL=(root) /sbin/shutdown
 
Joten esko voi esimerkiksi tämän jälkeen käynnistää koneen uudelleen komennolla:
sudo shutdown -r now
 
Jos halutaan, että eskon ei tarvitse syöttää [[salasana]]a komennon yhteydessä, lisätään riville NOPASSWD-optio. Useat komennot erotetaan toisistaan pilkulla:
esko ALL=(root) NOPASSWD: /sbin/shutdown,/sbin/reboot
 
Eskolle voidaan antaa oikeudet ajaa kaikkia komentoja pääkäyttäjänä rivillä
esko ALL=(root) ALL
 
Vastaavasti sama oikeus voitaisiin antaa kaikille "admin"-käyttäjäryhmään kuuluville [[käyttäjä|käyttäjille]] rivillä
%admin ALL=(root) ALL
 
Annetaan käyttäjälle anna-liisa oikeus ajaa ohjelmia <tt>/usr/bin/[[firefox]]</tt> ja <tt>/bin/[[arch]]</tt> käyttäjänä esko:
anna-liisa ALL=(esko) /usr/bin/firefox, /bin/arch
 
== Käyttäjäaliakset ==
Käyttäjät voidaan ryhmittää myös aliaksien avulla sudoers-tiedostossa:
 
  # User alias specification
  User_Alias GURUT = esko, petteri, kameli
 
Tämän jälkeen aliasta voidaan käyttää tunnuksen asemesta.
 
  GURUT ALL=(root)ALL
 
== Komentoaliakset ==
Jos halutaan määritää useampia komentoja joita käyttäjä(t) voivat käyttäää. Voidaan nämä komennot myös ryhmittää
aliaksen avulla:
 
  # Cmnd alias specification
  Cmnd_Alias MOUNTS = /bin/mount,/sbin/mount.cifs,/bin/umount,/sbin/umount.cifs
 
MOUNTS aliakseen on määritetty liitoskomennot jotka voidaan myöntää käyttäjille:
 
  GURUT=(root) NOPASSWD: MOUNTS
 
== Kysyttävän salasanan valinta ==
Sudo kysyy oletuksena komennon suorittavan käyttäjän omaa salasanaa. Sen voi kuitenkin saada kysymään myös kohdekäyttäjän (yleensä root) salasanaa lisäämällä asetustiedostoon rivin
Defaults targetpw
Mikäli yhdessä tämän rivin kanssa lisätään rivi
ALL    ALL=(ALL) ALL
mikä sallii kaikkien komentojen suorittamisen kaikkina käyttäjinä kaikille käyttäjille, käyttäytyy sudo käytännössä samoin kuin [[su]].
 
Asetuksella
Defaults rootpw
voidaan sudo saada kysymään kaikissa tapauksissa rootin salasanaa, riippumatta siitä minä käyttäjänä ([[valitsin]] <tt>-u</tt>) komentoa ollaan ajamassa.
 
==Aikaleiman vanhentuminen==
Oletuksena käyttäjän aikaleima vanhentuu viidessä minuutissa, eli käyttäjä voi suorittaa komentoja viiden minuutin ajan ilman tarvetta salasanan uudelleensyöttämiseen. Aikaleiman vanhentumisaikaa on mahdollista muuttaa asetuksella
Defaults timestamp_timeout=minuuttimäärä
Asettamalla minuuttimäärän nollaksi salasanaa kysytään joka komennon yhteydessä. Negatiivinen minuuttimäärä tarkoittaa, ettei salasanaa ensimmäisen kerran jälkeen koskaan kysytä uudestaan.
 
== Katso myös ==
* [[Su]]
* [[Sudo]]
* [[Visudo]]
 
[[Luokka:Asetustiedostot]]
[[Luokka:Käyttäjät ja ryhmät]]

Nykyinen versio 25. toukokuuta 2013 kello 03.11

/etc/sudoers-asetustiedostossa määritetään asetukset ja komennot, joita tavallinen käyttäjä voi suorittaa toisen käyttäjän (yleensä pääkäyttäjän) oikeuksilla käyttäen sudo-ohjelmaa. Jotta tiedoston muokkaus on turvallista tulee sitä muokata visudo -ohjelmalla, joka muunmuassa tarkastaa syötteiden oikeellisuuden.

Peruskäyttö[muokkaa]

Perussyntaksi oikeuksien määrittämiseen sudoers-tiedostossa on:

tunnus työasema=(käyttäjä jona komento ajetaan) komento(t)

Esimerkiksi annettaan käyttäjälle esko oikeus sammuttaa kone:

esko ALL=(root) /sbin/shutdown

Joten esko voi esimerkiksi tämän jälkeen käynnistää koneen uudelleen komennolla:

sudo shutdown -r now

Jos halutaan, että eskon ei tarvitse syöttää salasanaa komennon yhteydessä, lisätään riville NOPASSWD-optio. Useat komennot erotetaan toisistaan pilkulla:

esko ALL=(root) NOPASSWD: /sbin/shutdown,/sbin/reboot

Eskolle voidaan antaa oikeudet ajaa kaikkia komentoja pääkäyttäjänä rivillä

esko ALL=(root) ALL

Vastaavasti sama oikeus voitaisiin antaa kaikille "admin"-käyttäjäryhmään kuuluville käyttäjille rivillä

%admin ALL=(root) ALL

Annetaan käyttäjälle anna-liisa oikeus ajaa ohjelmia /usr/bin/firefox ja /bin/arch käyttäjänä esko:

anna-liisa ALL=(esko) /usr/bin/firefox, /bin/arch

Käyttäjäaliakset[muokkaa]

Käyttäjät voidaan ryhmittää myös aliaksien avulla sudoers-tiedostossa:

 # User alias specification
 User_Alias GURUT = esko, petteri, kameli

Tämän jälkeen aliasta voidaan käyttää tunnuksen asemesta.

 GURUT ALL=(root)ALL

Komentoaliakset[muokkaa]

Jos halutaan määritää useampia komentoja joita käyttäjä(t) voivat käyttäää. Voidaan nämä komennot myös ryhmittää aliaksen avulla:

 # Cmnd alias specification
 Cmnd_Alias MOUNTS = /bin/mount,/sbin/mount.cifs,/bin/umount,/sbin/umount.cifs

MOUNTS aliakseen on määritetty liitoskomennot jotka voidaan myöntää käyttäjille:

 GURUT=(root) NOPASSWD: MOUNTS

Kysyttävän salasanan valinta[muokkaa]

Sudo kysyy oletuksena komennon suorittavan käyttäjän omaa salasanaa. Sen voi kuitenkin saada kysymään myös kohdekäyttäjän (yleensä root) salasanaa lisäämällä asetustiedostoon rivin

Defaults targetpw

Mikäli yhdessä tämän rivin kanssa lisätään rivi

ALL     ALL=(ALL) ALL

mikä sallii kaikkien komentojen suorittamisen kaikkina käyttäjinä kaikille käyttäjille, käyttäytyy sudo käytännössä samoin kuin su.

Asetuksella

Defaults rootpw

voidaan sudo saada kysymään kaikissa tapauksissa rootin salasanaa, riippumatta siitä minä käyttäjänä (valitsin -u) komentoa ollaan ajamassa.

Aikaleiman vanhentuminen[muokkaa]

Oletuksena käyttäjän aikaleima vanhentuu viidessä minuutissa, eli käyttäjä voi suorittaa komentoja viiden minuutin ajan ilman tarvetta salasanan uudelleensyöttämiseen. Aikaleiman vanhentumisaikaa on mahdollista muuttaa asetuksella

Defaults timestamp_timeout=minuuttimäärä

Asettamalla minuuttimäärän nollaksi salasanaa kysytään joka komennon yhteydessä. Negatiivinen minuuttimäärä tarkoittaa, ettei salasanaa ensimmäisen kerran jälkeen koskaan kysytä uudestaan.

Katso myös[muokkaa]