Setuid

Setuid , som står for angi bruker-ID ved utførelse , er en spesiell type filtillatelse i Unix og Unix-lignende operativsystemer som for eksempel Linux og BSD . Det er et sikkerhetsverktøy som tillater brukere å kjøre visse programmer med eskalert privilegier .

Når en kjørbar fil Hvis setuid-tillatelse er angitt, kan brukere utføre programmet med et tilgangsnivå som samsvarer med brukeren som eier filen . For eksempel, når en bruker ønsker å endre passordet sitt, kjører de passwd-kommando . Passwd-programmet eies av rot konto og merket som setuid, slik at brukeren får midlertidig tilgang til root for det begrensede formålet.

start datamaskinen på nytt fra ledeteksten

Viser setuid-tillatelsen til en fil

Når du ser på filens tillatelser med ls -l kommandoen, vises setuid-tillatelsen som en ' s 'i' brukeren utfører 'bitposisjon. For eksempel:

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root 54192 Nov 20 17:03 /usr/bin/passwd

Angi tillatelse for en fil til en fil

For å angi setuid-tillatelsen for en kjørbar fil, bruk tillatelsesidentifikatoren u + s med chmod kommando:

chmod u+s myfile

Ikke-kjørbare filer kan merkes som setuid, men det har ingen effekt. markering av dem setuid gjør dem ikke automatisk kjørbare. I dette tilfellet vises tillatelsesbiten som en stor bokstav S '. For eksempel:

hvor mange byte som er i en gigabyte
ls -l myfile
-rw-r--r-- 1 user 0 Mar 6 10:45 myfile
chmod u+s myfile
ls -l myfile
-rwSr--r-- 1 user 0 Mar 6 10:45 myfile

Men hvis du da setter filen til å være brukerkjørbar med tillatelse u + x , kommer tillatelsen til setuid i kraft. Det er deretter representert i oppføringen med små bokstaver ' s ':

chmod u+x myfile
ls -l myfile
-rwsr--r-- 1 user 0 Mar 6 10:45 myfile

Setgid

Setgid tilsvarer setuid for grupper. Hvis biten er angitt, gir den tillatelse fra gruppen som eier filen. I en filliste viser s '(små bokstaver) er oppført i' gruppeutfør '-posisjonen for filtillatelsesstrengen. Hvis setgid-biten er angitt, men gruppen ikke har utøvende tillatelser, en stor bokstav ' S vises i stedet. Denne store bokstaven indikerer at biten er satt, men har ingen effekt.

I utgangen av ls -l vist her, betyr små bokstaver 's at setgid bit er satt for den oppførte filen. Alle brukere som får tilgang til filen, vil gjøre det som om de er medlem av eiergruppen.

chmod g+s myfile2
ls -l myfile2
-rw-r-sr-- 1 user mygroup 0 Mar 6 10:46 myfile2

Hvis setgid-biten er angitt for en katalog, hvilken som helst ny filer som er opprettet eies av katalogens eiergruppe, i stedet for brukerens gruppe. Filer som er flyttet eller kopiert fra et annet sted, vil ikke endre gruppe-ID-en.