Vem där? Förstå Behörigheter i UNIX

January 29

Till skillnad från vissa operativsystem, var UNIX från början konstruerad för att användas av mer än en person. Liksom alla fleranvändarsystem, UNIX håller reda på vem som äger vad filen och vem kan göra vad med varje fil. Behörigheter knutna till varje fil och katalog avgöra vem som kan använda dem.

Behörigheter finns i tre typer:

  • Läs tillstånd: Gör att du kan titta på en fil eller katalog. Du kan använda katt eller en textredigerare för att se vad som finns i en fil som har läsbehörighet. Du kan också kopiera denna typ av fil. Läs tillstånd till en katalog kan du lista kataloginnehållet.
  • Skriv tillstånd: Gör att du kan göra ändringar i en fil. Även om du kan skriva (ändra) en fil, kan du inte nödvändigtvis ta bort den eller byta namn på den; för de åtgärder, måste du kunna skriva i katalogen där filen finns. Om du har skrivrättigheter i en katalog, kan du skapa nya filer i katalogen och ta bort filer från den.
  • Exekverarättigheterna: Gör att du kan köra programmet som finns i filen. Programmet kan vara ett verkligt program eller ett skalskript. Om filen inte innehåller ett program, exekverarättigheterna inte göra dig mycket bra och kan provocera skalet att klaga bittert som den försöker (från dess ganska mörk synvinkel) för att förstå din fil. För en katalog, exekverarättigheterna gör att du kan öppna filerna i katalogen och använda cd för att komma till katalogen för att göra det din arbetskatalog.

Rockgrupper, popgrupper och UNIX grupper

Varje UNIX användare är medlem i en grupp. När systemadministratören skapat ditt användarnamn, delat hon dig till en grupp. För att se vilken grupp du är i, typ id.

Du ser ut ungefär så här:

uid = 113 (Margy) gid = 102 (gäst) grupper = 102 (gäst), 101 (bok), 103 (ost)

Grupper indikerar vanligtvis den typ av arbete du gör. UNIX använder grupper för att ge en massa folk (ekonomiavdelningen, till exempel) samma behörigheter att använda en uppsättning filer. Alla de människor som arbetar på ett visst projekt är oftast i samma grupp, så att de kan titta på och kanske ändra varandras filer.

I Linux och BSD, kan du vara i flera grupper samtidigt, vilket är praktiskt om du arbetar med flera projekt. För att ta reda på vilka grupper du är i, typ grupper.

Det är min!

Varje fil och katalog har en ägare och en grupp ägare. Ägaren är oftast den person som gjort filen eller katalogen, även om ägaren kan ibland ändra ägandet av filen till någon annan. Gruppen ägare är oftast den grupp som ägaren tillhör, även om ägaren kan ändra en fil grupp ägare till en annan grupp.

Vem kan göra vad?

För att se vem som kan göra vad till en fil, använd kommandot ls med parametern -l. Skriv här raden:

ls -l myfile

Du ser ut ungefär så här:

-rw-r - r-- 1 margy personal 335 Januari 22 13:23 myfile

Om du inte anger ett filnamn (i det här fallet, minfil), UNIX listar alla filer i katalogen, som ofta är mer användbar. För varje fil, visar denna lista följande information:

  • Oavsett om det är en fil, symbolisk länk eller katalog. Det första tecknet på raden är ett streck (-) om det är en fil, en l om det är en symbolisk länk, och en d om det är en katalog.
  • Huruvida ägaren kan läsa, skriva eller köra den (vilket framgår av de kommande tre karaktärer, 2 till 4, på linjen). Det första tecknet är ett r om ägaren har läsbehörighet eller ett bindestreck (-), om inte. Det andra tecknet är en w om ägaren har skrivbehörighet eller ett bindestreck (-), om inte. Den tredje tecknet är ett x (eller ibland en s) om ägaren har exekverarättigheterna eller ett bindestreck (-), om inte.
  • Huruvida medlemmar i gruppen ägaren kan läsa, skriva eller köra filen eller katalogen (vilket indikeras av de kommande tre tecken, 5 till 7). En r, w, eller x visas om att tillstånd beviljas; ett bindestreck (-) visas om att tillstånd inte beviljas.
  • Oavsett alla andra kan läsa, skriva eller köra filen eller katalogen (vilket indikeras av de kommande tre tecken, 8 till 10). En r, w, eller x visas om att tillstånd beviljas; ett bindestreck (-) visas om att tillstånd inte beviljas.
  • Länken räkna, det vill säga hur många länkar (namn) filen har. För kataloger, är detta antal antalet underkataloger katalogen innehåller plus 2 (fråga inte).
  • Ägaren till filen eller katalogen.
  • Den grupp som fil eller katalog tillhör (gruppägare).
  • Storleken på filen i byte (tecken).
  • Datum och tid då filen senast ändrades.
  • Filnamnet - äntligen!

Behörigheter i antal

Det är inte alltför svårt att räkna ut vilka behörigheter en fil har genom att titta på samlingen av r s, w s och x s i filen notering. Ibland behörigheter är skrivna på ett annat sätt, dock: med siffror. Endast UNIX programmerare kunde ha tänkt på denna metod. (Det är ett exempel på lata maskinskrivare vid sina finaste.) Numrerade behörigheter kallas ibland absoluta behörigheter (kanske för att de är helt omöjligt att komma ihåg).

När behörigheter uttrycks som ett nummer, det är en 3-siffrigt nummer. Den första siffran är ägarens tillstånd, den andra siffran är gruppens behörigheter, och den tredje siffran är alla andras behörigheter. Varje siffra är ett tal från 0 till 7. Tabell 1 listar vad siffrorna betyder.

Tabell 1: Absoluta Behörigheter avkodas


Siffra

Behörigheter

0

Inget

1

Utför endast

2

Skriv endast

3

Skriv och exekvera

4

Läs bara

5

Läs och exekvera

6

Läs och skriv

7

Läs, skriv och exekvera