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