Linux

Forstå Linux filtillatelser

Forstå Linux filtillatelser

I Linux styrer filtillatelser, attributter og eierskap tilgangsnivået som systemet behandler og brukere har til filer. Dette sikrer at bare autoriserte brukere og prosesser har tilgang til bestemte filer og kataloger.

Linux-filtillatelser #

Den grunnleggende Linux-tillatelsesmodellen fungerer ved å knytte hver systemfil til en eier og en gruppe og tildele tillatelsesrettigheter for tre forskjellige klasser av brukere:

Fil eierskap kan endres ved hjelp av chown og chgrp kommandoer.

Tre filtillatelsestyper gjelder for hver klasse brukere:

Dette konseptet lar deg kontrollere hvilke brukere som kan lese filen, skrive til filen eller utføre filen.

For å se filtillatelsene, bruk ls kommando:

ls -l filnavn
-rw-r - r-- 12 linuxize brukere 12.0K 28. april 10:10 filnavn | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Gruppe | | | | | + -------------------> 6. Eier | | | | + --------------------------> 5. Alternativ tilgangsmetode | | | + ----------------------------> 4. Andre Tillatelser | | + -------------------------------> 3. Gruppetillatelser | + ----------------------------------> 2. Eiertillatelser + ------------------------------------> 1. Filtype 

Det første tegnet indikerer filtypen. Det kan være en vanlig fil (-), katalog (d), en symbolsk lenke (l) eller andre spesielle filtyper. Følgende ni tegn representerer filtillatelsene, tre tripletter med tre tegn hver. Den første tripletten viser eiertillatelsene, den andre gruppetillatelsene, og den siste tripletten viser alle andre tillatelser.

I eksemplet ovenfor (rw-r - r--) betyr at fileieren har lese- og skrivetillatelser (rw-), har gruppen og andre bare lesetillatelser (r--).

Filtillatelser har en annen betydning, avhengig av filtype.

Hver av de tre tillatelsestriplettene kan være konstruert av følgende tegn og ha forskjellige effekter, avhengig av om de er satt til en fil eller en katalog:

Effekt av tillatelser på filer

TillatelseKarakterBetydning på fil
Lese-Filen er ikke lesbar. Du kan ikke se filinnholdet.
rFilen er lesbar.
Skrive-Filen kan ikke endres eller endres.
wFilen kan endres eller endres.
Henrette-Filen kan ikke kjøres.
xFilen kan kjøres.
sHvis det finnes i bruker triplett, setter den setuid bit. Hvis det finnes i gruppe triplett, setter den setgid bit. Det betyr også at x flagget er satt.
Når setuid eller setgid flagg settes på en kjørbar fil, filen kjøres med filens eier- og / eller grupperettigheter.
SSamme som s, men x flagget er ikke satt. Dette flagget brukes sjelden på filer.
tHvis det finnes i andre triplett, setter den klebrig bit.
Det betyr også at x flagget er satt. Dette flagget er ubrukelig på filer.
TSamme som, t men x flagget er ikke satt. Dette flagget er ubrukelig på filer.

Effekt av tillatelser på kataloger (mapper)

Kataloger er spesielle filtyper som kan inneholde andre filer og kataloger.

TillatelseKarakterBetydning i katalogen
Lese-Katalogens innhold kan ikke vises.
rKatalogens innhold kan vises.
(e.g., Du kan liste opp filer i katalogen med ls.)
Skrive-Katalogens innhold kan ikke endres.
wKatalogens innhold kan endres.
(e.g., Du kan opprette nye filer, slette filer ... osv.)
Henrette-Katalogen kan ikke endres til.
xKatalogen kan navigeres ved hjelp av cd.
sHvis det finnes i bruker triplett, setter den setuid bit. Hvis det finnes i gruppe triplett det setter setgid bit. Det betyr også at x flagget er satt. Når setgid flagg er satt i en katalog, de nye filene som er opprettet i den arver katalog-ID-en (GID) i stedet for den primære gruppe-ID-en til brukeren som opprettet filen.
setuid har ingen innvirkning på kataloger.
SSamme som s, men x flagget er ikke satt. Dette flagget er ubrukelig i kataloger.
tHvis det finnes i andre triplett, setter den klebrig bit.
Det betyr også at x flagget er satt. Når den bitete biten er satt i en katalog, er det bare filens eier, katalogens eier eller den administrative brukeren som kan slette eller gi nytt navn til filene i katalogen.
TSamme som t, men x flagget er ikke satt. Dette flagget er ubrukelig i kataloger.

Endring av filtillatelser #

Filtillatelsene kan endres ved hjelp av chmod kommando. Bare root, fileieren eller brukeren med sudo-rettigheter kan endre tillatelsene til en fil. Vær ekstra forsiktig når du bruker chmod, spesielt når du endrer tillatelsene rekursivt. Kommandoen kan akseptere en eller flere filer og / eller kataloger atskilt med mellomrom som argumenter.

Tillatelser kan spesifiseres ved hjelp av en symbolisk modus, numerisk modus eller en referansefil.

Symbolisk (tekst) metode #

Syntaksen til chmod kommandoen når den symbolske modusen har følgende format:

chmod [ALTERNATIV] [ugoa ...] [- + =] perms ... [,…] FIL .. 

Det første settet med flagg ([ugoa ...]), bruker flagg, definerer brukernes klasser som tillatelsene til filen endres for.

Når brukernes flagg er utelatt, er det som standard en.

Det andre settet med flagg ([- + =]), operasjonsflaggene, definerer om tillatelsene skal fjernes, legges til eller angis:

Tillatelsene (permitter .. ) er eksplisitt angitt med enten null eller en eller flere av følgende bokstaver: r, w, x, X, s, og t. Bruk en enkelt bokstav fra settet u, g, og o når du kopierer tillatelser fra en til en annen brukerklasse.

Når du angir tillatelser for mer enn én brukerklasse ([,…]), bruk komma (uten mellomrom) for å skille de symbolske modusene.

Her er noen eksempler på hvordan du bruker chmod kommando i symbolisk modus:

Numerisk metode nr

Syntaksen til chmod kommandoen når den symbolske modusen har følgende format:

chmod [ALTERNATIVER] NUMMERFIL .. 

Når du bruker numerisk modus, kan du stille inn tillatelsene for alle tre brukerklasser (eier, gruppe og alle andre) samtidig.

Tillatelsesnummeret kan være et nummer på 3 eller 4 sifre. Når det brukes 3 sifre, representerer det første sifferet tillatelsene til filens eier, det andre filens gruppe og det siste alle andre brukere.

Hver tillatelse til å skrive, lese og utføre har følgende tallverdi:

Tillatelsesnummeret til en bestemt brukerklasse er representert av summen av verdiene til tillatelsene for den gruppen.

For å finne ut filens tillatelser i numerisk modus, beregn bare totalene for alle brukernes klasser. For eksempel, for å gi lese-, skrive- og utføre tillatelse til filens eier, lese og utføre tillatelser til filgruppen og bare lese tillatelser til alle andre brukere, vil du gjøre følgende:

Ved hjelp av metoden ovenfor kommer vi opp til tallet 754, som representerer de ønskede tillatelsene.

Å sette opp setuid, setgid, og klebrig bit flagg, bruk fire sifre.

Når nummeret på 4 sifre brukes, har det første sifferet følgende betydning:

De neste tre sifrene har samme betydning som når du bruker tre sifret.

Hvis det første sifferet er 0, kan det utelates, og modusen kan vises med 3 sifre. Den numeriske modusen 0755 er det samme som 755.

For å beregne numerisk modus kan du også bruke en annen metode (binær metode), men den er litt mer komplisert. Å vite hvordan man beregner numerisk modus ved hjelp av 4, 2 og 1 er tilstrekkelig for de fleste brukere.

Du kan sjekke filens tillatelser i den numeriske notasjonen ved hjelp av stat kommando:

stat -c "% a" filnavn 

Her er noen eksempler på hvordan du bruker chmod kommando i numerisk modus:

Konklusjon #

I Linux er tilgang til filene begrenset ved hjelp av filtillatelser, attributter og eierskap. For å endre filens tillatelser, bruk chmod kommando.

Hvis du har spørsmål eller tilbakemeldinger, er du velkommen til å legge igjen en kommentar.

HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...
Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...
Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...