unix permissions file permissions unix with examples
Unix-tilladelser: Lær, hvad der er de forskellige filtilladelser i Unix
Unix er et flerbruger system, hvor de samme ressourcer kan deles af forskellige brugere.
Alle tilladelser i Unix er baseret på at begrænse adgangen til bestemte filer og mapper til specifikke brugere eller brugergrupper.
=> Klik her for Komplet Unix tutorial-serie
Hvad du vil lære:
- Unix-tilladelser: Filtilladelser med eksempler
- Unix kommandolinjeværktøjer for at ændre adgangstilladelserne
- Konklusion
- Anbefalet læsning
Unix-tilladelser: Filtilladelser med eksempler
Adgang til en fil har tre niveauer:
- Læs tilladelse - Hvis autoriseret, kan brugeren læse indholdet af filen.
- Skriv tilladelse - Hvis autoriseret, kan brugeren ændre filen.
- Udfør tilladelse - Hvis autoriseret, kan brugeren udføre filen som et program.
Hver fil er tilknyttet et sæt identifikatorer, der bruges til at bestemme, hvem der kan få adgang til filen:
- Bruger-ID (UID) - Angiver den bruger, der ejer filen. Som standard er dette skaberen af filen.
- Gruppe-id (GID) - Angiver den brugergruppe, som filen tilhører.
Endelig er der tre sæt adgangstilladelser tilknyttet hver fil:
- Brugertilladelse - Angiver det adgangsniveau, der gives til den bruger, der matcher filens UID.
- Gruppetilladelse - Angiver niveauet for adgang, der gives til brugere i grupper, der matcher filens GID.
- Andre tilladelse - Angiver adgangsniveauet til brugere uden en matchende UID eller GID.
Tilsammen gør denne ordning med adgangskontrol Unix-systemet ekstremt sikkert, samtidig med at det giver den nødvendige fleksibilitet til et flerbrugersystem.
Det ls -l kommando kan bruges til at se tilladelserne, der er knyttet til hver af filerne i den aktuelle mappe.
Eksempel på output af denne kommando er angivet nedenfor.
Eksempel:
flag link ejer gruppe størrelse ændret dato navn
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
I denne output angiver 'i alt 24' det samlede antal blokke, der er optaget af de anførte filer.
De resterende kolonner er:
- flag - En samling flag, der angiver filtilstand og filtilladelser.
- links - Antallet af links, der er knyttet til filen.
- ejer - UID'en, der ejer filen.
- gruppe - GID'erne, der er knyttet til filen.
- størrelse - Filens størrelse i byte.
- ændret dato - Måned, dato, time og minut for den sidste ændring af filen.
- navn - Navnet på filen eller biblioteket.
Flagene i den første kolonne angiver filtilstand og de forskellige sæt tilladelser:
# 1) Det første tegn angiver filtypen:
bedste program til at klone harddisken
- -: repræsenterer en almindelig fil
- d: repræsenterer en mappe
- c: repræsenterer en karakterenhedsfil
- b: repræsenterer en blokenhedsfil
# 2) De næste tre tegn angiver brugerrettigheder:
- Den første af disse tre angiver, om brugeren har læst tilladelse:
-
- -: angiver, at brugeren ikke har læsetilladelse.
- r: angiver, at brugeren har læst tilladelse.
-
- Det andet tegn angiver, om brugeren skal skrive tilladelse:
-
- -: angiver, at brugeren ikke har skrivetilladelse.
- w: angiver, at brugeren skal skrive tilladelse.
-
- Det sidste tegn angiver, om brugeren har udført tilladelse:
-
- -: angiver, at brugeren ikke behøver at udføre tilladelse.
- x: angiver, at brugeren har udført tilladelse.
-
# 3) De næste tre tegn angiver gruppetilladelser svarende til brugertilladelserne ovenfor.
# 4) De sidste tre tegn angiver offentlige tilladelser svarende til brugertilladelserne ovenfor.
Hvis filen er en almindelig fil, giver læstilladelse brugeren mulighed for at åbne filen og undersøge dens indhold. Skrivetilladelse giver brugeren mulighed for at ændre indholdet af filen. Og udfør tilladelse giver brugeren mulighed for at køre filen som et program.
I tilfælde af at filen er et bibliotek, giver læsetilladelse brugeren mulighed for at liste indholdet af biblioteket. Skrivetilladelse giver brugerne mulighed for at oprette en ny fil i biblioteket og fjerne en fil eller mappe fra den. Udfør tilladelse giver brugeren mulighed for at køre en søgning i biblioteket.
Unix kommandolinjeværktøjer for at ændre adgangstilladelserne
Unix leverer et antal kommandolinjeværktøjer til at ændre adgangstilladelserne:
Bemærk, at kun ejeren af filen kan ændre adgangstilladelserne.
1. chmod : skift filadgangstilladelser
- beskrivelse: Denne kommando bruges til at ændre filtilladelserne. Disse tilladelser læses, skrives og udføres tilladelse for ejeren, gruppen og andre.
- syntaks (symbolsk tilstand) :
chmod (ugoa)((+-=)(mode)) file
- Den første valgfri parameter angiver hvem - dette kan være (u) ser, (g) roup, (o) thers eller (a) ll
- Den anden valgfri parameter angiver opcode - dette kan være til tilføjelse (+), fjernelse (-) eller tildeling af (=) tilladelse.
- Den tredje valgfri parameter angiver tilstanden - dette kan være (r) ead, (w) rite eller e (x) ecute.
Eksempel :Tilføj skrivetilladelse til bruger, gruppe og andre til file1
$ ls -l
-rw-r – r– 1 brugerpersonale 39 21. juni 15:37 fil1
-rw-r – r– 1 brugerpersonale 35 juni 21 15:32 fil2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 brugerpersonale 39 juni 21 15:37 fil1
-rw-r – r– 1 brugerpersonale 35 juni 21 15:32 fil2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 brugerpersonale 39 juni 21 15:37 fil1
-rw-r – r– 1 brugerpersonale 35 juni 21 15:32 fil2
- syntaks (numerisk tilstand) :
chmod (mode) file
- Tilstanden er en kombination af tre cifre - det første ciffer angiver brugerens tilladelse, det andet ciffer for gruppen og det tredje ciffer for andre.
- Hvert ciffer beregnes ved at tilføje de tilknyttede tilladelser. Læsetilladelse er '4', skrivetilladelse er '2' og eksekveringstilladelse er '1'.
- Eksempel :Giv læs / skriv / udfør tilladelse til brugeren, læs / udfør tilladelse til gruppen og udfør tilladelse til andre.
$ ls -l
-rw-r – r– 1 brugerpersonale 39 21. juni 15:37 fil1
-rw-r – r– 1 brugerpersonale 35 juni 21 15:32 fil2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 brugerpersonale 39 21. juni 15:37 fil1
-rw-r – r– 1 brugerpersonale 35 juni 21 15:32 fil2
2. chown : skift ejerskab af filen.
- beskrivelse : Kun ejeren af filen har rettighederne til at ændre filejerskabet.
- syntaks : chown (ejer) (fil)
- Eksempel :Skift ejeren af fil1 til bruger2, forudsat at den i øjeblikket ejes af den aktuelle bruger
$ chown user2 file1
3. chgrp : ændre gruppeejerskabet af filen.
- beskrivelse : Kun ejeren af filen har rettighederne til at ændre filejerskabet.
- syntaks : chgrp (gruppe) (fil)
- Eksempel :Skift gruppe af fil1 til gruppe2, forudsat at den i øjeblikket ejes af den aktuelle bruger.
$ chgrp group2 file1
Under oprettelsen af en ny fil indstiller Unix standardfiltilladelserne. Unix bruger værdien, der er gemt i en variabel kaldet umask til at bestemme standardtilladelserne. Umask-værdien fortæller Unix, hvilket af de tre sæt tilladelser, der skal deaktiveres.
Flagget består af tre oktale cifre, der hver repræsenterer tilladelsesmaskerne for brugeren, gruppen og andre. Standardtilladelserne bestemmes ved at trække umask-værdien fra '777' for mapper og '666' for filer. Umaskens standardværdi er '022'.
4. umask : skift standardadgangstilladelser
selen automatiseringstest interview spørgsmål og svar
- beskrivelse: Denne kommando bruges til at indstille standardfiltilladelserne. Disse tilladelser læses, skrives og udføres tilladelse for ejer, gruppe og andre.
- syntaks : umask (mode)
- Tilstanden er en kombination af tre cifre - det første ciffer angiver brugerens tilladelse, det andet ciffer for gruppen og det tredje ciffer for andre.
- Hvert ciffer beregnes ved at tilføje de tilknyttede tilladelser. Læsetilladelse er '4', skrivetilladelse er '2' og eksekveringstilladelse er '1'.
Eksempel :Giv læs / skriv / udfør tilladelse til brugeren og ingen tilladelser til gruppe eller andre. dvs. tilladelsen til filer vil være 600, og for mapper vil være 700.
$ umask 077
- Eksempel :Giv læse / skrive / udføre tilladelse til brugeren, læse / udføre tilladelser til gruppe eller andre til kataloger og skrivebeskyttet tilladelse til at gruppere eller andre til andre filer. dvs. tilladelsen til filer vil være 644, og for mapper vil være 755.
$ umask 022
Konklusion
Tilladelserne i Unix kan være for “brugeren”, “gruppen” og for alle de kaldte brugere, “Andet”.
Detaljer som tilladelsesflag, antal lænker, ejer, gruppe, størrelse, dato for sidste ændring, fil osv. Kan simpelthen opnås med kommandoen “ls-l”.
=> Klik her for Komplet Unix tutorial-serie
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Tilladelser til Unix-filadgang: Unix Chmod, Chown og Chgrp
- Klip kommando i Unix med eksempler
- Filmanipulation i Unix: Oversigt over Unix File System
- Unix-kommandoer: Grundlæggende og avancerede Unix-kommandoer med eksempler
- Find kommando i Unix: Find filer med Unix Find-fil (eksempler)
- UNIX-tutorial til begyndere (20+ dybdegående Unix-træningsvideoer)
- Unix tekstbehandlingskommandoer: Unix-filtre med eksempler
- Unix specialtegn eller metategn til filmanipulation