Der er 3 særlige tilladelser, der er tilgængelige for eksekverbare filer og mapper. Disse er :
1. SUID-tilladelse
2. SGID-tilladelse
3. Sticky bit
- Set-user Identification (SUID)
- Hvordan indstiller man SUID på en fil?
- Set-group identification (SGID)
- SGID-tilladelse på eksekverbar fil
- Hvordan indstiller man GUID på en fil?
- SGID på en mappe
- Sådan indstiller du SGID på en mappe
- Sticky Bit
- Eksempel på sticky bit :
- Hvordan indstiller man sticky bit-tilladelse?
Set-user Identification (SUID)
Har du nogensinde tænkt på, hvordan en ikke-root-bruger kan ændre sin egen adgangskode, når han ikke har skrivetilladelse til filen /etc/shadow. hmmm… interessant er det ikke? For at forstå tricket skal du tjekke tilladelsen til kommandoen /usr/bin/passwd :
# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd
– Hvis du tjekker omhyggeligt, vil du finde de 2 S’er i tilladelsesfeltet. Det første s står for SUID og det andet for SGID.
– Når en kommando eller et script med SUID-bitten indstillet køres, bliver dens effektive UID den samme som ejeren af filen og ikke som den bruger, der kører den.
– Et andet godt eksempel på SUID er su-kommandoen :
# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su
– Tilladelsen setuid vises som et “s” i ejerens execute-felt.
Hvordan indstiller man SUID på en fil?
# chmod 4555
Hvis der vises et stort “S” i ejerens execute-felt, angiver det, at setuid-bitten er slået til, og execute-bitten “x” for filens ejer er slået fra eller nægtet.
Set-group identification (SGID)
SGID-tilladelse på eksekverbar fil
– SGID-tilladelsen svarer til SUID-tilladelsen, eneste forskel er – når scriptet eller kommandoen med SGID slået til køres, køres den som om den var medlem af den samme gruppe, som filen er medlem af.
# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write
– Setgid-tilladelsen vises som et “s” i gruppens execute-felt.
– Hvis der vises et lille bogstav “l” i gruppens execute-felt, angiver det, at setgid-bitten er aktiveret, og at execute-bitten for gruppen er slået fra eller nægtet.
Hvordan indstiller man GUID på en fil?
# chmod 2555
SGID på en mappe
– Når SGID-tilladelsen er indstillet på en mappe, tilhører filer oprettet i mappen den gruppe, som mappen er medlem af.
– Hvis en bruger, der har skrivetilladelse i mappen, f.eks. opretter en fil der, er denne fil medlem af samme gruppe som mappen og ikke af brugerens gruppe.
– Dette er meget nyttigt ved oprettelse af delte mapper.
Sådan indstiller du SGID på en mappe
# chmod g+s
Sticky Bit
– Sticky Bit’en bruges primært på delte mapper.
– Den er nyttig for delte mapper som /var/tmp og /tmp, fordi brugere kan oprette filer, læse og udføre filer, der ejes af andre brugere, men de må ikke fjerne filer, der ejes af andre brugere.
– Hvis brugeren bob f.eks. opretter en fil ved navn /tmp/bob, kan den anden bruger tom ikke slette denne fil, selv om mappen /tmp har tilladelsen 777. Hvis sticky bit ikke er sat, kan tom slette /tmp/bob, da filen /tmp/bob arver den overordnede mappes tilladelser.
– root-bruger (Selvfølgelig!) og ejeren af filerne kan fjerne deres egne filer.
Eksempel på sticky bit :
# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp
- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.
Hvordan indstiller man sticky bit-tilladelse?
# chmod +t or # chmod 1777