Ero sivun ”Setuid” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (uo)
 
(järjestelmäkutsut)
Rivi 1: Rivi 1:
#redirect [[Tiedoston oikeudet]]
'''setuid''' tarkoittaa ohjelman (prosessin) [[UID|uid]]-arvon muuttamista toiseksi, joko järjestelmäkutsulla <tt>setuid(2)</tt> tai [[Tiedoston oikeudet#Erikoisoikeudet|tiedoston suid-bitillä]]. Ohjelma siis ajetaan osittain tai kokonaan eri [[käyttäjä|tunnuksen]] oikeuksin. setuid edellyttää yleensä pääkäyttäjän oikeuksia (tarkemmin CAP_SETUID-lippua). <tt>setuid(2)</tt> vaihtaa pääkäyttäjän kutsumana uid-arvon pysyvästi, toinen järjestemäkutsu <tt>seteuid(2)</tt> mahdollistaa pääkäyttäjäoikeuksien palauttamisen. <tt>setreuid(2)</tt> asettaa sekä käytettävän että "oikean" uid:n. [[Ryhmä|Ryhmien]] hallintaan on vastaavat järjestelmäkutsut ja tiedoston sgid-bitti.
 
Linux käyttää kolmea uid-arvoa: "real uid", joka alkujaan on kutsuvan ohjelman (käyttäjän) uid, "effective uid", joka suid-ohjelman tapauksessa on tiedoston omistajan uid, sekä "saved uid", joka asetetaan uid-arvoa vaihdettaessa. suid-ohjelma voi näin vaihtaa oikeuksia kutsuvan prosessin (käyttäjän) oikeuksien ja ohjelmatiedoston omistajan oikeuksien välillä.
 
setuid-kutsun ja siihen liittyvien muiden kutsujen käytös vaihtelee jonkin verran [[ydin|ytimen]] version yms. mukaan. Näitä kutsuja käyttävän on syytä varmistaa, että ohjelma toimii toivotulla tavalla kaikissa ympäristöissä tai että ohjelma varoittaa yritettäessä asentaa sitä järjestelmään, jonka toiminnasta ei ole tietoa.
 
[[Luokka:Järjestelmä]]

Versio 16. maaliskuuta 2009 kello 16.49

setuid tarkoittaa ohjelman (prosessin) uid-arvon muuttamista toiseksi, joko järjestelmäkutsulla setuid(2) tai tiedoston suid-bitillä. Ohjelma siis ajetaan osittain tai kokonaan eri tunnuksen oikeuksin. setuid edellyttää yleensä pääkäyttäjän oikeuksia (tarkemmin CAP_SETUID-lippua). setuid(2) vaihtaa pääkäyttäjän kutsumana uid-arvon pysyvästi, toinen järjestemäkutsu seteuid(2) mahdollistaa pääkäyttäjäoikeuksien palauttamisen. setreuid(2) asettaa sekä käytettävän että "oikean" uid:n. Ryhmien hallintaan on vastaavat järjestelmäkutsut ja tiedoston sgid-bitti.

Linux käyttää kolmea uid-arvoa: "real uid", joka alkujaan on kutsuvan ohjelman (käyttäjän) uid, "effective uid", joka suid-ohjelman tapauksessa on tiedoston omistajan uid, sekä "saved uid", joka asetetaan uid-arvoa vaihdettaessa. suid-ohjelma voi näin vaihtaa oikeuksia kutsuvan prosessin (käyttäjän) oikeuksien ja ohjelmatiedoston omistajan oikeuksien välillä.

setuid-kutsun ja siihen liittyvien muiden kutsujen käytös vaihtelee jonkin verran ytimen version yms. mukaan. Näitä kutsuja käyttävän on syytä varmistaa, että ohjelma toimii toivotulla tavalla kaikissa ympäristöissä tai että ohjelma varoittaa yritettäessä asentaa sitä järjestelmään, jonka toiminnasta ei ole tietoa.