Hvordan bruke chown-kommandoen på Linux

Filer og kataloger i Linux-systemer tilhører alle noen. Du kan endre eierskapet deres med chown-kommandoen. Vi viser deg hvordan.

Hver fil tilhører en bruker og en gruppe

Linux er et flerbrukersystem. Operativsystemet lar flere brukerkontoer defineres og for enhver gyldig bruker å logge på datamaskinen. Dessuten kan flere brukere bruke en enkelt datamaskin samtidig.

For å holde oversikt over hvilke filer som tilhører hvilken bruker og for å håndheve noe sikkerhet, bruker Linux konseptet eierskap. Hver fil tilhører en eier – en bruker – og en gruppe.

Når en fil opprettes, er dens eier brukeren som opprettet den. Gruppen som filen tilhører – «eigruppen» – er brukerens gjeldende gruppe. Brukere og grupper har navn, og de har også numeriske identiteter, kalt en bruker (eller unik) identifikator (UID) og en gruppeidentifikator (GID).

Når du oppretter en fil, eies den av deg, og den tilhører din nåværende gruppe. Vanligvis er dette gruppen du har logget på. Som standard er dette en gruppe som deler samme navn som brukernavnet ditt og ble opprettet da du ble opprettet som bruker på systemet.

Du kan bruke chown-kommandoen for å endre eierskapsverdiene til noe annet. Du kan angi en ny eier, en ny gruppe eller en ny eier og en ny gruppe samtidig. Eieren av en fil kan endre gruppeeierskapet, men bare root kan endre brukereierskapet fordi det involverer en annen bruker. Uten root-privilegier kan du ikke få en annen bruker på systemet til å «adoptere» en fil uforvarende.

  Slik spiller du Total War: ROME II på Linux

Hvorfor ønsker du å endre eierskap?

Her er noen eksempler på situasjoner der du kanskje vil gjøre dette:

Hvis du overfører filer mellom forskjellige Linux- eller Unix-lignende operativsystemer, må du endre bruker- og gruppeeiere til den nye brukeren og gruppeeierne til kontoen du ønsker å bruke filene under på den nye Linux-datamaskinen.
En bruker kan forlate organisasjonen din, og alle filene hans vil være et annet medarbeiders ansvar. Du må endre eieren og gruppeeieren til den ansatte som nå er ansvarlig for disse filene.
Du kan skrive et skript som skal brukes av en bestemt bruker.
Du kan opprette en fil eller katalog som er logget på som root, men du vil at den skal være tilgjengelig for en bestemt bruker.

Vise gruppene dine, UID og GID

Til liste opp gruppene du er med, kan du bruke grupper-kommandoen.

groups

For å få en liste over gruppene, deres numeriske IDer, og din UID og GIDbruk id-kommandoen:

id

Du kan bruke noen alternativer med ID for å avgrense utdataene.

-u: List opp UID-en din.
-g: List opp din effektive (nåværende) GID.
-nu: List opp brukernavnet ditt.
-ng: List opp ditt nåværende gruppenavn.

id -u
id -g
id -nu
id -ng

Vise bruker- og gruppeeierskap til en fil

For å se eierne av en fil eller katalog, bruk alternativet -l (lang liste) med ls.

ls -l

Vi kan se at navnet dave vises to ganger i oppføringen. Utseendet lengst til venstre forteller oss at fileieren er en bruker som heter dave. Dave lengst til høyre forteller oss at filen tilhører en gruppe som også kalles dave.

  Hvordan spille Dead Rising på Linux

Som standard, når en Linux-bruker opprettes, legges de til i en privat gruppe oppkalt etter brukernavnet. De er det eneste medlemmet av den gruppen.

Denne kjørbare filen eies av brukeren mary og gruppen filen tilhører er marys private gruppe.

ls -l

Denne filen eies av brukeren oscar, men gruppen som filen tilhører kalles researchlab. Dette betyr at andre medlemmer av researchlab-gruppen kan få tilgang til denne filen, i henhold til filtillatelsene som er satt for medlemmene i den gruppen.

Endring av brukereierskap

La oss gå gjennom noen eksempler. Denne kommandoen vil endre brukereierskapet til filen while.c til brukeren mary.

sudo chown mary while.c

Vi kan bruke ls for å se endringene i filegenskapene.

ls -l while.c

Du kan bruke chown til å endre eierskapet til flere filer samtidig.

sudo chown mary getval.c global.c goto.c

Dette endrer brukereierskapet til alle tre filene.

ls -l getval.c global.c goto.c

Du kan bruke jokertegn for å velge grupper av filer. Denne kommandoen vil endre brukereierskapet til alle filer som begynner med bokstaven «c.»

sudo chown mary c*.*

Alle filene vil nå ha mary som eier. Merk at ingen av gruppeeierskapene er endret.

ls -l mary c*.*

La oss endre eierskapet til en katalog. Vi sender ganske enkelt katalognavnet til chown i stedet for et filnavn.

sudo chown mary ./archive/

For å sjekke eierskapsegenskapene til katalogen bruker vi ls, men bruker også alternativet -d (katalog) til den. Dette viser egenskapene til katalogen, ikke filene i den.

ls -l -d ./archive/

For å endre eierskapet til alle filene i en katalog, kan du bruke alternativet -R (rekursivt). Dette alternativet vil endre brukereierskapet til alle filene i arkivmappen.

sudo chown -R mary ./archive/

La oss nå se på filene i arkivkatalogen.

ls -l ./archive/

Som forventet tilhører alle filene nå mary.

  Hvordan installere Neo-to GTK-temaet på Linux

Endring av konserneierskap

Det er forskjellige måter å endre gruppeeierskapet på.

For å endre gruppeeierskap samtidig som du endrer brukereierskap, send det nye eiernavnet og det nye gruppenavnet med et kolon «:» som skiller dem. Gruppen må allerede eksistere.

sudo chown mary:researchlab charm.c

Brukereieren og gruppen som filen tilhører er begge endret.

ls -l charm.c

En kortfattet måte å endre gruppeeierskapet til den nåværende gruppen til den nye eieren, bare oppgi kolon og utelate gruppenavnet.

sudo chown mary: caps.c

ls -l caps.c

Både brukereierskap og gruppeeierskap er endret til mary.

Hvis du bare vil endre gruppeeierskapet, setter du et kolon foran det og utelater brukernavnet. Brukerens eier vil ikke bli endret.

sudo chown :researchlab at.c

ls -l at.c

Gruppeeierskapet er endret, men brukereierskapet forblir det samme.

Bruke Chown med UID- og GID-verdier

Du kan bruke de numeriske UID- og GID-verdiene med chown-kommandoen. Denne kommandoen vil sette brukeren og gruppens eierskap til å gifte seg.

sudo chown 1001:1001 at.c

ls -l at.c

Besittelse er ni tideler av loven

Eller det sier de. Men i Linux er eierskap en enorm del av filsikkerheten, med filtillatelser som gir resten av det. Bruk kommandoene chown og chmod for å sikre filtilgang på systemet ditt.