unix

Forstå Linux filtillatelser og eierskap

Forstå Linux filtillatelser og eierskap
Linux-operativsystemet, som er en klon av UNIX, er utviklet for å håndtere flere brukere med multitasking-funksjoner. Dette betyr at mer enn én bruker kan arbeide i denne operasjonen samtidig når datamaskinen er koblet til et nettverk eller Internett. Fjernbrukerne kan koble seg til datamaskinen som inneholder Linux-operativsystemet gjennom SSH og jobbe med systemet. Det er veldig viktig å opprettholde sikkerheten når flere brukere jobber i samme operativsystem samtidig. Mange innebygde sikkerhetsfunksjoner finnes i Linux-operativsystemet som kan brukes når lokal eller ekstern tilgang er gitt fra forskjellige brukere. Linux-brukerne må forstå konseptet med filtillatelser og eierskapet til filen for å gi sikkerhet på filsystemnivå. Hvordan Linux-brukerne kan se og endre tillatelsene, og eierskapet til filen og mappene, vises i denne artikkelen.

Forutsetninger:

Brukerne må vite måten å kjøre kommandoen fra terminalen på og den grunnleggende kunnskapen om å opprette filer og mapper i Linux-operativsystemet for å kjøre og forstå kommandoene som brukes i denne artikkelen.

Innholdet i denne artikkelen:

Følgende konsept og oppgaver relatert til filtillatelse og eierskap er dekket i denne artikkelen.

  1. Typer brukere
  2. Tillatelsestyper
  3. Sjekk tillatelser
  4. Endre tillatelse ved hjelp av chmod
  5. Endre eierskap ved hjelp av chown

Typer brukere:

Tre typer brukere finnes i Linux-operativsystemet, som er nevnt nedenfor.

Eieren:

Brukeren som oppretter filen eller mappen er eieren av den filen eller mappen, og eieren kan tillate andre typer brukere å få tilgang til filen og mappen. Det er betegnet med 'u'.

Gruppe:

Hver bruker kan tilhøre en bestemt gruppe i Linux. Så når en bruker oppretter en fil eller mappe, kan andre medlemmer av gruppen der brukeren tilhører få tilgang til filen eller mappen. Når flere brukere jobber på en bestemt mappe, er det bedre å opprette en gruppe med disse brukerne for å få tilgang til den mappen riktig. Det er betegnet med 'g'.

Andre / Alle:

Den indikerer enhver bruker som ikke er eier av en bestemt fil eller mappe og ikke tilhører filen eller mappeierens gruppe. Hvis eieren av filen eller mappen gir tilgangstillatelse til andre, kan alle brukere bare gjøre den aktuelle tilgangen. 'o'brukes til å betegne andre brukere, og'en'brukes til å betegne alle brukere.

Tillatelsestyper:

Tre tillatelsestyper finnes i Linux-systemet, som er nevnt nedenfor.

Lese:

Denne tillatelsen brukes kun til å lese hvilken som helst fil eller mappe. Det er betegnet med 'r'når det er definert av karakter, og det er betegnet med 4 når det er definert av et tall.

Skrive:

Denne tillatelsen brukes til å skrive, legge til eller overstyre enhver fil eller mappe. Det er betegnet med 'w'når det er definert av karakteren, og det er betegnet med 2 når den er definert av tallet. Hvis brukeren må skrive tillatelse til en fil, men han / hun ikke trenger å skrive tillatelse til mappen der filen ligger, kan brukeren bare endre innholdet i filen, men han / hun kan ikke gi nytt navn , flytt eller slett filen.

Henrette:

Denne tillatelsen brukes til å utføre bare filer. Det er betegnet med 'x'når det er definert av karakteren, og det er betegnet med 1 når den er definert av tallet.

Sjekk tillatelser:

Kjør følgende kommando for å sjekke tillatelsene til alle filer og fôr i den nåværende katalogen.

$ ls -l

Utgangen viser syv kolonner. Den første kolonnen viser tillatelsene til den bestemte filen og mappene. Den første kolonnen har fire deler som inneholder 10 biter. Den første delen inneholder en bit som indikerer filen eller mappen eller symbolsk lenke. Mappen er angitt med tegnet 'd', filen er angitt med' - 'og lenken er angitt med tegnet'l'. Den andre delen inneholder 3 biter som inneholder tillatelsesbiter for eieren av filen eller mappen. Den tredje delen inneholder 3 biter som inneholder tillatelsesbiter for gruppebrukerne. Den fjerde delen inneholder 3 biter som inneholder tillatelsesbiter for andre brukere. Tillatelsesbitene i den aktuelle kataloglisten vil se ut som den første kolonnen i det følgende bildet.


I henhold til ovenstående tillatelsesbiter indikerer den første biten at den viser tillatelsene til en fil. De neste tre bitene indikerer at eieren av filen har lese-, skrive- og tilgangstillatelser. De neste tre bitene indikerer at brukerne av gruppen har lese- og skrivetillatelser. De tre siste bitene indikerer at andre brukere bare kan lese filen. Hvordan standardtillatelsesbitene kan endres ved å bruke forskjellige Linux-kommandoer, vises i neste del av artikkelen.

Endre tillatelse ved hjelp av chmod:

chmod kommandoen brukes til å endre tillatelsesbitene til filen eller mappen. Den fulle formen for denne kommandoen er for å endre filmodus. Eieren av filen og rotbrukeren kan endre tillatelsesbitene til filen og mappen. Enhver tillatelse for enhver bruker kan gis og tilbakekalles for filen og mappen ved hjelp av chmod.

Syntaks:

chmod [Tillatelse] [Sti til fil eller mappe]

Tillatelsesbiter kan defineres av eksplisitte og binære referanser, som blir forklart i neste del av denne opplæringen.

Angi tillatelser i symbolisk modus:

'u','g', og'o'tegn brukes til brukertyper, og'r','w', og'x'tegn brukes til tillatelsestyper i symbolisk modus. Hvordan tillatelsen kan settes for fil og mappe vises i neste del av opplæringen. Tabellen nedenfor viser listen over matematiske symboler som brukes til å angi, tilbakestille og fjerne tillatelsesbiter for filen eller mappen.

Operatør Hensikt
+ Den brukes til å legge til eller tildele tillatelsene for den bestemte filen eller mappen.
= Den brukes til å tildele tillatelsene for den aktuelle filen eller mappen på nytt.
- Den brukes til å fjerne tillatelsene fra den aktuelle filen eller mappen.

Filtillatelser:

Noen eksempler på å legge til og fjerne tillatelsesbiter av filen vises i de følgende eksemplene. Kjør følgende kommandoer for å kontrollere gjeldende tillatelsesbiter for den bestemte katalogbanen, / prosjekter / søppel / som finnes i systemet. Denne kommandoen returnerer den lange listen over filer og mapper i omvendt rekkefølge med tillatelsesbiter.

$ ls -lr

Resultatet viser at prosjekter / søppel katalogen inneholder to mapper og syv filer.

Eksempel 1: Angi utførelsestillatelse for eieren av en fil

Kjør følgende kommandoer for å stille inn utføre (x) tillatelsesbit for eier (u) av filen, app.py, og sjekk tillatelsesbitene igjen etter å ha kjørt chmod kommando.

$ chmod u + x app.py
$ ls -lr

Følgende utgang viser at tillatelsen biter for app.py blir endret til
- r b x r w - r - -. De utføre (x) tillatelse tildeles eieren.

Eksempel 2: Angi skriv- og kjørstillatelse for alle brukere av en fil

Kjør følgende kommando for å angi skriv (w) og utføre (x) tillatelser for alle brukere for filen app2.py og sjekk tillatelsesbitene igjen etter å ha kjørt chmod kommando.

$ chmod a + wx app2.py
$ ls -lr

Følgende utgang viser at tillatelsen biter for app2.py blir endret til
- r b x r b x r b x. De forfatter) og utføre (x) tillatelser tildeles for enhver bruker for denne filen.

Eksempel 3: Tilbakestill tillatelse for gruppebrukere av en fil

Kjør følgende kommando for å tilbakestille tillatelser for gruppe brukere for filen app3.py og sjekk tillatelsesbitene igjen etter å ha kjørt chmod kommando. Her, den utføre (x) tillatelsesbit vil bare bli satt for gruppe brukere, og les (r) og forfatter) tillatelser vil bli opphevet.

$ chmod g = x app3.py
$ ls -lr

Følgende utgang viser at tillatelsen biter for app3.py blir endret til
- r w - - - x r - -. Eksekveringstillatelsen (x) er kun tildelt for gruppebrukerne.

Eksempel 4: Lesetillatelse blir tilbakekalt fra andre

Kjør følgende kommando for å fjerne les (r) tillatelsesbit for andre for filen app4.py og sjekk tillatelsesbitene igjen etter å ha kjørt chmod kommando.

$ chmod o-r app4.py
$ ls -lr

Følgende utgang viser at tillatelsen biter for app4.py blir endret til
- r w - r w - - - -. De les (r) tillatelse tilbakekalles for de andre.

Mappetillatelser:

Tillatelsesbitene kan settes, tilbakestilles og fjernes for mappen, slik som filene som vises i chmod-kommandoene ovenfor.

Eksempel 5: Sett, tilbakestill og tilbakekall tillatelse for mappen

Kjør følgende kommandoer for å angi skriv (x) tillatelse til andre, tilbakestill tillatelse for gruppe brukere ved å tilordne les (r) bare tillatelse og fjern utføre (x) tillatelse til Eieren av mappen, maler.

$ chmod o + x maler
$ chmod g = r maler
$ chmod u-x maler
$ ls -lr

Følgende utgang viser at tillatelsesbiter for maler mappen endres til d r w - r - - r - x. De utføre (x) tillatelse er satt til andre, les (r) tillatelse tilbakestilles for gruppe brukere og utføre (x) tillatelse tilbakekalles for Eieren.

Angi tillatelser i numerisk modus:

Tillatelsesbitene av fil og mappe settes eller tilbakestilles ved hjelp av et tresifret oktalt tall. I den symbolske modusen kan en eller flere tillatelsesbiter bare angis eller tilbakestilles eller fjernes for en bestemt brukertype. I numerisk modus endres tillatelsesbitene for alle tre typer brukere med en enkelt kommando. Tabellen nedenfor viser forskjellige tillatelsestyper som er definert av numeriske verdier.

Numerisk verdi Tillatelsestype
0 Det indikerer ingen tillatelse.
1 Det indikerer bare utfør (x) tillatelse.
2 Det indikerer bare skrivetillatelse (w).
3 Det indikerer skriv (w) og utfør (x) tillatelser.
4 Det indikerer bare lesetillatelse (r).
5 Det indikerer lese (r) og utføre (x) tillatelser.
6 Det indikerer lese- (r) og skrivetillatelser (w).
7 Det indikerer alle tre tillatelsene (les (r), skriv (w) og utfør (x)).

Filtillatelse:

Noen eksempler for å angi eller tilbakestille tillatelsesbiter av filen ved hjelp av numeriske verdier er forklart i neste del av denne artikkelen.

Eksempel 1: Sett '- r w x r - x - w -' tillatelse for en fil

$ chmod 752 app5.py
$ ls -l

Følgende utgang viser at les (r), forfatter) og utføre (x) tillatelser er satt for Eieren av app5.py. les (r) og utføre (x) tillatelser er satt til gruppe brukere av app5.py. skriv (w) tillatelse er angitt for alle brukere av app5.py.

Eksempel 2: Sett '- r w x r - - - - -' tillatelse for en fil

$ chmod 740 app6.py
$ ls -lr

Følgende utgang viser at les (r), forfatter) og utføre (x) tillatelser er satt for Eieren av app6.py. les (r) tillatelse er satt til gruppe brukere av app6.py. Ingen tillatelse er angitt for noen brukere av app6.py.

Eksempel 3: Sett '- r - - - - - - - -' tillatelse for en fil

$ chmod 400 app5.py
$ ls -lr

Følgende utgang viser at les (r) tillatelse er bare satt for eieren, og de andre tillatelsene til andre brukere fjernes for filen, app5.py.

Eksempel 4: Sett '- r - - r - - r - -' tillatelse for en fil

$ chmod 444 app6.py
$ ls -lr

Følgende utgang viser at les (r) tillatelse er for alle typer brukere, og andre tillatelser blir tilbakekalt for filen, app6.py.

Eksempel 5: Sett '- r w x r w x r w x' tillatelse for en fil

$ chmod 777 app7.py
$ ls -lr

Følgende utgang viser at les (r), forfatter), og utføre (x) tillatelser er angitt for alle typer brukere av app7.py.

Mappetillatelse:

$ chmod 442 maler
$ ls -lr

Følgende utgang viser at les (r) tillatelse er satt for eier- og gruppebrukere og skriv (w) tillatelse er angitt for alle brukere av mappen, maler.

Endre eierskap ved hjelp av chown:

chown kommandoen brukes til å endre eierskapet til bruker og gruppebruker for enhver fil. Denne kommandoen kan brukes på forskjellige måter for å endre eierskapet til brukerne.

Syntaks:

chown [OPTION] [OWNER] [: [GROUP]] FILE

Noen alternativer for denne kommandoen er gitt nedenfor som kan brukes til å endre eierskapet til filen.

Alternativ Hensikt
-fra = CURRENT_OWNER: CURRENT_GROUP Den brukes bare til å endre eier og / eller gruppe for hver fil hvis den nåværende eieren og / eller gruppen samsvarer med den definerte eieren og gruppen.
-c, -endringer Det oppretter en rapport hvis det foretas endringer i eierskapet.
-f, -stille, -stille Det vil fjerne de fleste feilmeldingene.
-R, -rekursiv Det vil fungere på filer og kataloger rekursivt.
-L Den vil krysse alle symbolske lenker til en katalog.
-P Det vil ikke krysse noen symbolske lenker.
-hjelp Den viser hjelpinformasjonen.
-versjon Den viser versjonsinformasjon.

Bli en superbruker:

Du må bli superbruker for å utføre chown kommando. Du kan være superbruker i kort tid ved å utføre følgende kommandoer, men du må vite rotpassordet for den aktuelle kommandoen.

'sukommando:
Den fulle formen for su er en erstatningsbruker, og denne kommandoen kan brukes til å få superbrukerrettighetene til å gjøre noen administrative oppgaver. Du må oppgi root-passordet etter at du har utført denne kommandoen for å få root-privilegiet. Etter at kommandoen er utført, vil den nye skalløkten opprettes for superbrukeren. Økten til superbrukeren kan avsluttes ved å skrive exit kommando.

'sudokommando:
Alternativet til su kommandoen er sudoen kommando. En eller flere brukere kan få rotprivilegiet ved å bruke denne kommandoen. Den nåværende brukeren kan åpne root shell-lignende su kommandoen ved å bruke -i alternativet med sudo kommando. exit kommandoen avslutter rotskallet og går tilbake til den nåværende brukerens skall.
Rotbrukerkontoen er deaktivert som standard på Ubuntu. Så, sudoen kommandoen brukes her for å få root-rettighetene og kjøre chown-kommandoen for å angi eierskap til filen.

Eksempel 1: Bruk av chown med eieren

$ ls -l
$ sudo chown yesmin c1.py
$ ls -l

Den første ls kommandoen viser det nåværende eierskapet til filene som finnes i kode mappe. Her, fahmida er eieren av filen c1.py filen før du kjører chown kommando. Når ls kommandoen kjøres etter å ha kjørt chown-kommandoen, så blir eierskapet gitt til brukeren, ja min, og gruppenavnet har vært uendret.

Eksempel 2: Bruk av chown med eieren og kolon (:)

$ ls -l
$ sudo chown yesmin: c2.py
$ ls -l

Den første ls kommandoen viser gjeldende eier og gruppeeierskap til c2.py fil. Her bruker- og gruppeeiernavnet til c2.py er fahmida før du kjører chown kommando. Når ls kommandoen utføres etter at du har kjørt kommandoen, så blir bruker eierskapet gitt til ja min, og gruppeeierskapet gis til eiergruppen som heter ja min.

Eksempel 3: Bruk av chown med gruppen etterfulgt av kolon (:)

$ ls -l
$ sudo chown: pygroup c3.py
$ ls -l

Den første ls kommandoen viser gjeldende eier og gruppeeierskap til c3.py fil. Her bruker- og gruppeeiernavnet til c3.py er fahmida før du kjører chown-kommandoen. Når ls kommandoen utføres etter at du har kjørt kommandoen, og deretter blir gruppeeierskapet gitt til eiergruppen som heter pygroup, og brukereierskapets navn forblir uendret.

Eksempel 4: Bruk av chown med brukeren og gruppen etterfulgt av kolon (:)

$ ls -l
$ sudo chown fahmida: pygroup c2.py
$ ls -l

Den første ls kommandoen viser gjeldende eier og gruppe eierskap av c2.py fil. Her bruker- og gruppeeiernavnet til c2.py er ja min før du kjører chown kommando. Når ls kommandoen utføres etter at du har kjørt kommandoen, så blir bruker eierskapet gitt til fahmida, og gruppen eierskap er gitt til pygroup.

Eksempel 5: Bruk av chown med kolon (bare :)

$ ls -l
$ sudo chown: c3.py
$ ls -l

Den første ls kommandoen viser gjeldende eier og gruppe eierskap av c3.py fil. Her er eierskapet til brukeren fahmida, og eierskapet til gruppen er pygroup av c2.py før du kjører chown kommando. Når ls kommandoen utføres etter at du har kjørt kommandoen, så forblir eierskapet til både bruker og gruppe uendret.

Konklusjon:

Linux-brukere kan endre filtillatelse og eierskap på flere måter, som vises ved hjelp av forskjellige Linux-kommandoer i denne artikkelen. Det finnes en annen kommando i Linux for å endre eierskapet til gruppen brukere bare for filen. Kommandoen er chgrp som ikke er forklart her. Oppgaven med chgrp kommandoen kan gjøres enkelt ved å bruke chown kommando. Jeg håper konseptet med filtillatelse og eierskap til filen og mappen i Linux-operativsystemet vil bli fjernet etter å ha lest denne artikkelen.

Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...
Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...
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...