Ero sivun ”Setuid” versioiden välillä
Siirry navigaatioon
Siirry hakuun
muitoiluja, täydennystä, setfsuid, +Luokka:Tietoturva
LP (keskustelu | muokkaukset) (järjestelmäkutsut) |
LP (keskustelu | muokkaukset) (muitoiluja, täydennystä, setfsuid, +Luokka:Tietoturva) |
||
Rivi 1: | Rivi 1: | ||
'''setuid''' tarkoittaa ohjelman (prosessin) [[UID|uid]]-arvon muuttamista toiseksi, joko järjestelmäkutsulla <tt>setuid | '''setuid''' tarkoittaa ohjelman (prosessin) [[UID|uid]]-arvon muuttamista toiseksi, joko järjestelmäkutsulla <tt>setuid</tt>, <tt>seteuid</tt> tai <tt>setreuid</tt> tai [[Tiedoston oikeudet#Erikoisoikeudet|tiedoston suid-bitillä]]. Ohjelma siis ajetaan osittain tai kokonaan eri [[käyttäjä|tunnuksen]] oikeuksin. Kutsut edellyttävät yleensä pääkäyttäjän oikeuksia (tarkemmin CAP_SETUID-lippua) tai että prosessi on käynnistetty suid-ohjelmana. <tt>setuid</tt> vaihtaa pääkäyttäjän kutsumana uid-arvon pysyvästi, toinen järjestemäkutsu <tt>seteuid</tt> mahdollistaa pääkäyttäjäoikeuksien palauttamisen. <tt>setreuid</tt> asettaa sekä käytettävän että "oikean" uid:n. [[Ryhmä|Ryhmien]] hallintaan on vastaavat järjestelmäkutsut (<tt>setgid</tt> & kumpp.) ja tiedoston sgid-bitti. | ||
Linux käyttää | Linux käyttää neljä uid-arvoa, joista perinteiset ovat "real uid", joka alkujaan on kutsuvan ohjelman (käyttäjän) uid, "effective uid", joka suid-ohjelman tapauksessa alkujaan on tiedoston omistajan uid, ja "saved uid", joka asetetaan uid-arvoa vaihdettaessa. euid määrää prosessin oikeudet ja sen voi muuttaa ruid:ksi tai suid:ksi. suid-ohjelma voi näin vaihtaa oikeuksia kutsuvan prosessin (käyttäjän) oikeuksien ja ohjelmatiedoston omistajan oikeuksien välillä. Pääkäyttäjän oikeuksin uid:t voi vaihtaa muiksikin. | ||
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. | Linuxissa on oma neljäs uid:nsä, joka yleensä on sama kuin euid, mutta voidaan muuttaa tästä erillään kutsulla <tt>setfsuid</tt>, jolloin tiedosto-oikeudet tulkitaan tämän neljännen uid:n mukaan. Tarkoitus on vähentää ennen kaikkea NFS-palvelimen haavoittuvuutta, koska tavallisen käyttäjän uid euid:na saattaa mahdollistaa signaalien lähettämisen palvelimelle ja siten toiminnan häiritsemistä. | ||
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. Lisätietoa [[man]]uaalisivuilla. | |||
[[Luokka:Järjestelmä]] | [[Luokka:Järjestelmä]] | ||
[[Luokka:Tietoturva]] |