Tilstande (Unix) - Modes (Unix)

Tilstande er filsystemtilladelser, der er givet til klassen "bruger", "gruppe" og "andre" for at få adgang til filer under Unix . De vises, når du viser filer i langt format, eller, hvis adgangskontrollister er i brug, ved hjælp af getfacl. Tilstande kan ændres med chmod (til traditionelle Unix-tilladelser) eller med setfacl (til adgangskontrollister).

Format

Til traditionelle Unix-tilladelser er den symboliske tilstand sammensat af tre komponenter, der kombineres til at danne en enkelt tekststreng:

$ chmod [references][operator][modes] file1 ...

Henvisningerne (eller klasserne) bruges til at skelne de brugere, som tilladelserne gælder for. Hvis der ikke er angivet nogen henvisninger, er det standard "alle". Bortset fra at når der ikke eksplicit er angivet nogen henvisninger, maskeres det endelige resultat af umask- værdien. Henvisningerne er repræsenteret ved en eller flere af følgende bogstaver:

Reference klasse Beskrivelse
u bruger ejeren af ​​filen
g gruppe brugere, der er medlemmer af filens gruppe
o andre brugere, der ikke er ejeren af ​​filen eller medlemmer af gruppen
-en alle alle tre af ovenstående er det samme som ugo

Den chmod program bruger en operatør til at angive, hvordan de former for en fil skal justeres. Følgende operatører accepteres:

Operatør Beskrivelse
+ tilføjer de specificerede tilstande til de specificerede klasser
- fjerner de specificerede tilstande fra de specificerede klasser
= de angivne tilstande skal foretages de nøjagtige tilstande for de specificerede klasser

Tilstande viser, hvilke tilladelser der skal tildeles eller fjernes fra de specificerede klasser. Der er tre grundlæggende tilstande, der svarer til de grundlæggende tilladelser:

Mode Navn Beskrivelse
r Læs r ead en fil eller angiv et katalogs indhold
w skrive w ritual til en fil eller mappe
x udføre e x ecute en fil eller genoprette et katalogtræ
x særlig henrettelse som ikke er en tilladelse i sig selv, men snarere kan bruges i stedet for x. Det anvender udførelsestilladelser til mapper uanset deres nuværende tilladelser og anvender udførelsestilladelser til en fil, der allerede har indstillet mindst 1 udførelsestilladelsesbit (enten bruger, gruppe eller andet). Det er kun rigtig nyttigt, når det bruges med '+' og normalt i kombination med -R-indstillingen til at give gruppe eller anden adgang til et stort katalogtræ uden at indstille udføre tilladelse på normale filer (f.eks. Tekstfiler), hvilket normalt ville ske, hvis du brugte lige "chmod -R a + rx.", mens du med "X" kan du gøre "chmod -R a + rX." i stedet
s SETUID / gid detaljer i afsnittet Specielle tilstande
t klæbrig detaljer i afsnittet Specielle tilstande

Kombinationen af ​​disse tre komponenter producerer en streng, der forstås af chmod- kommandoen. Flere ændringer kan specificeres ved at adskille flere symboltilstande med kommaer.

Eksempler på strengtilstand

For eksempel vil følgende kommando bruges til at tilføje de læste og skrive tilladelser til brugeren og gruppe klasser af en fil eller mappe med navnet prøve :

$ chmod ug+rw sample
$ ls -ld sample
drw-rw----   2 unixguy  unixguy       96 Dec  8 12:53 sample

Denne kommando fjerner alle tilladelser, så ingen til at læse, skrive, eller eksekvere filen med navnet prøve .

$ chmod a-rwx sample
$ ls -l sample
----------   2 unixguy  unixguy       96 Dec  8 12:53 sample

Den følgende kommando ændrer tilladelserne for brugeren og gruppen til kun at læse og udføre (ingen skrivetilladelse) på prøven .

$ # Sample file permissions before command
$ ls -ld sample
drw-rw----   2 unixguy  unixguy       96 Dec  8 12:53 sample
$ chmod ug=rx sample
$ ls -ld sample
dr-xr-x---   2 unixguy  unixguy       96 Dec  8 12:53 sample

Se også