Spesielle tillatelser Suid, Guid og Sticky Bit

Spesielle tillatelser Suid, Guid og Sticky Bit
På Linux er alt en fil, og alt har eiere. Den spesielle eieren er, kjent som roten, har også spesielle tillatelser til å kjøre alt og alt. Alle andre har begrensede privilegier og veldig begrenset tilgang til filer og mapper. For å heve våre privilegier, må man bruke sudo -kommandoen. Imidlertid er det ikke en god idé å gi ut rotpassordet til tilfeldige mennesker når de trenger å gjøre noe som krever høyere privilegier. Så hva kan du gjøre da? Vel, vi kan bruke det som er kjent som Suid, Guid og Sticky Bits. I denne opplæringen vil vi gjennomgå konseptet Suid, Guid og Sticky Bits.

Suid

Suid eller angitt eierbruker -ID er et tillatelsesbitflagg som gjelder kjørbare filer. Suid lar en alternativ bruker kjøre en kjørbar med de samme tillatelsene som eieren av filen i stedet for tillatelsene til den alternative brukeren.

La oss bruke et eksempel for å demonstrere suid. Anta at det er tre brukere: Kalyani, Sara og John. Anta at Kalyani har full rottilgang; Det vil si at hun kan bruke sudo -kommandoen med et gyldig passord. Anta videre at både Sara og John har mindre eller veldig begrensede privilegier på maskinen. Anta nå at vi har en kjørbar (eks: su, brukes til å bytte brukere) som tilhører roten. Husk at dette er viktig; Den tilhører rot, og derfor har bare root tillatelser til å utføre den!!!

La oss imidlertid si at vi tildeler det suid. Fordi vi tildelte det Suid, er den kjørbare, SU, ikke kjørt som Sara eller John, men heller som rot. Teknisk sett kan Sara kjøre filene sine, og John har lov til å kjøre filene sine. De har ikke lov til å kjøre filer som tilhører roten. Hvis de vil kjøre den, må du vanligvis skrive Sudo -kommandoen. Men her kjører Sara en fil som hun ikke eier! Og det vi bemerker er at når du bruker Suids, kjøres den kjørbare som eieren av filen, Root, og ikke personen som kjører den (eks: Sara eller John).

La oss for eksempel ta passwd -kommandoen. PassWD -kommandoen brukes til å endre brukerens passord. Hvis vi ser på filen i detalj, vil vi legge merke til at i stedet for en X som står for å utføre, vil det være en "S". "S" her står for Suid. Du vil videre merke at filen tilhører rot. Dette betyr teknisk at bare Root har tillatelse til å utføre den; Du vil imidlertid merke at alle kan utføre kommandoen. Som sådan, med SUID -tillatelsene, kan denne spesielle kjørbare utføres av både Sara og John når den ikke hører til dem! Både Sara og John får de samme tillatelsene som rot når du kjører denne spesielle kjørbare. Dette er så selv når både Sara og John ikke har rottilgang og ikke har rotprivilegier.

Så kort sagt, på grunn av Suid, vil både Sara og John kjøre Passwd -kommandoen som om de var dens eier, root!

Anta nå et øyeblikk at jeg fjerner suid fra passwd -kommandoen. La oss se hva som vil skje (på bildet nedenfor).

La oss nå se hva som vil skje når vi prøver å bruke PASSWD -kommandoen (en gang Suid er fjernet):

Som du kan se, da jeg fjernet suid fra passwd -kommandoen og prøvde å utføre den som Sara, nektet den å utføre den. Det resulterte i en feil!

Suid er ikke noe som skal tas lett på, og som sådan må man være veldig forsiktig når man tildeler det. Det er faktisk spesielle angrep i cybersecurity som sikter nettopp til kjørbare filer som kjører på Suid.

For å finne de kjørbare filer som har et SUID -sett, skriver vi:

# for å få alle suidene
finn /-perm -4000 2> /dev /null
# for å få alle guidene
finn /-perm -2000 2> /dev /null
# Finn alle klissete biter
finn /-perm -1000 2> /dev /null

Sette suid

Nå må vi lære å sette suids. Det er to måter å bruke CHMOD på: numerisk og symbolsk.

Bruke den numeriske metoden:

Vi bruker følgende kode for å angi tillatelser:

Setuid = 4
Setgid = 2
Sticky = 1
Ingen = 0
Les = 4
Skriv = 2
Utfør = 1

Under regelmessige tillatelser ville vi skrive følgende:

CHMOD 0777 kjørbar

Sistnevnte vil innebære at vi leser, skriver og utfører tillatelser til brukeren, gruppen og andre. For å bruke en suid, ville vi skrevet følgende:

CHMOD 4xxx kjørbar

Eks:

CHMOD 4744 Script

Her, det vi må merke oss er 4 i første stilling. De 4 gir SUID -tillatelser.

Her vil det se slik ut:

X for utførelse vil bli erstattet av en "S". Hvis filen ikke er satt til å være en kjørbar, vil den være en kapital S (“S”). Så her har vi:

-RWSR-R--

"S" betyr at Suid er satt (og filen er kjørbar)!

Bruke den symbolske metoden:

Det samme kan også utføres ved bruk av den symbolske metoden:

chmod u+s kjørbar

Eks:

chmod u+s skript

Nå her er det tider hvor du kan se en hovedstad “S”. Kapitalen "s" betyr at filen ikke er kjørbar ennå.

For å tilbakekalle SUID -rettighetene, skriv:

CHMOD U-S kjørbar

Eks:

ChMod U-S-skript

Guid

Guid ligner på Suid. I Suid kjører den aktuelle kjørbare med privilegiene til eieren av filen. I GUID, hvis det er en kjørbar, kjører den med tillatelsene til gruppen. Hvis det er en katalog, resulterer det i alle nye filer og kataloger som er opprettet for å tilhøre gruppen.

For å angi GUID ved hjelp av den numeriske metoden:

CHMOD 2xxx kjørbar

Eks:

CHMOD 2744 Script

Her er poenget å merke seg de 2 (i første stilling), som står for GUID.

For å angi GUID ved hjelp av den symbolske metoden:

CHMOD G+S kjørbar

Eks:

chmod g+s skript

Imidlertid ser jeg først:

Her er det en kapital "S". Dette betyr at filen ikke er kjørbar. Dette kan enkelt fikses ved å utføre følgende kode:

CHMOD +X kjørbar

Eks:

CHMOD +X -skript

Klissete biter

Sticky Bits gjelder for kataloger. Når klistremerker er satt på en bestemt katalog, kan enhver bruker som har tilgang til katalogen og innholdet bare slette sine egne filer og ikke kan berøre eller slette filer som tilhører noen andre. Sticky Bits brukes vanligvis når du bruker en delt mappe. Ingen personer kan slette en annens fil i den delte mappen selv om tillatelsen er 777.

Slik angir du klebrig biter ved å bruke den numeriske metoden:

CHMOD 1XXX kjørbar

Eks:

CHMOD 1744 Script

Her bruker vi 1 i den første posisjonen for å betegne at det vil være en klissete bit.

For å angi klissete biter ved hjelp av den symbolske metoden:

chmod o+t kjørbar

Eks:

ChMod O+T -skript

Tillatelser er en avgjørende del av Linux. CHMOD -kommandoen brukes vanligvis til å angi og endre enkle tillatelser. Imidlertid er det spesielle tillatelser som man kan angi ved hjelp av CHMOD -kommandoen også. Disse spesielle tillatelsene er kjent som Suid, Guid og Sticky Bit. Når den brukes på en bestemt kjørbar, kjøres spesielle tillatelser med tillatelsene til eieren av filen eller gruppen. Med andre ord, det løfter brukerens privilegier til eieren, typisk rot, midlertidig når du bruker den kjørbare. Imidlertid kan feil bruk av spesielle tillatelser bli en alvorlig trussel. Faktisk, innen cybersikkerhet, brukes det som en potensiell sårbarhet for å eskalere privilegier på en maskin. Så bruk det med omhu og veldig, veldig nøye!

Glad koding!