Ero sivun ”Setuid” versioiden välillä
Siirry navigaatioon
Siirry hakuun
järjestelmäkutsut
Pb (keskustelu | muokkaukset) p (uo) |
LP (keskustelu | muokkaukset) (järjestelmäkutsut) |
||
Rivi 1: | Rivi 1: | ||
'''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ä]] |