Ero sivun ”Setuid” versioiden välillä

Siirry navigaatioon Siirry hakuun
Pb (keskustelu | muokkaukset)
p uo
 
LP (keskustelu | muokkaukset)
muitoiluja, täydennystä, setfsuid, +Luokka:Tietoturva
 
(Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
#redirect [[Tiedoston oikeudet]]
'''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ää 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.
 
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:Tietoturva]]
Noudettu kohteesta ”https://www.linux.fi/wiki/Setuid