Sådan bruger du chown-kommandoen på Linux

Filer og mapper i Linux-systemer tilhører alle nogen. Du kan ændre deres ejerskab med chown-kommandoen. Vi viser dig hvordan.

Hver fil tilhører en bruger og en gruppe

Linux er et flerbrugersystem. Operativsystemet gør det muligt at definere flere brugerkonti og for enhver gyldig bruger at logge på computeren. Desuden kan flere brugere bruge en enkelt computer på samme tid.

For at opretholde en fortegnelse over, hvilke filer der tilhører hvilken bruger og for at håndhæve en vis sikkerhed, bruger Linux begrebet ejerskab. Hver fil tilhører en ejer – en bruger – og til en gruppe.

Når en fil oprettes, er dens ejer den bruger, der har oprettet den. Den gruppe, som filen tilhører – “ejergruppen” – er brugerens aktuelle gruppe. Brugere og grupper har navne, og de har også numeriske identiteter, kaldet en bruger (eller unik) identifikator (UID) og en gruppeidentifikator (GID).

Når du opretter en fil, ejes den af ​​dig, og den tilhører din nuværende gruppe. Normalt er det den gruppe, du har logget ind på. Som standard er dette en gruppe, der deler det samme navn som dit brugernavn og blev oprettet, da du blev oprettet som bruger på systemet.

Du kan bruge chown-kommandoen til at ændre ejerskabsværdierne til noget andet. Du kan indstille en ny ejer, en ny gruppe eller en ny ejer og en ny gruppe på samme tid. Ejeren af ​​en fil kan ændre gruppeejerskabet, men kun root kan ændre brugerens ejerskab, fordi det involverer en anden bruger. Uden root-privilegier kan du ikke få en anden bruger på systemet til uforvarende at “adoptere” en fil.

  Sådan spiller du Company of Heroes på Linux

Hvorfor vil du skifte ejerskab?

Her er et par eksempler på situationer, hvor du måske ønsker at gøre dette:

Hvis du overfører filer mellem forskellige Linux- eller Unix-lignende operativsystemer, skal du ændre bruger- og gruppeejere til den nye bruger og gruppeejere af den konto, du ønsker at bruge filerne under på den nye Linux-computer.
En bruger kan forlade din organisation, og alle hans filer vil være en anden medarbejders ansvar. Du bliver nødt til at ændre ejeren og gruppeejeren til den medarbejder, der nu er ansvarlig for disse filer.
Du kan oprette et script, der skal bruges af en bestemt bruger.
Du kan oprette en fil eller et bibliotek, der er logget ind som root, men du ønsker, at det skal være tilgængeligt for en bestemt bruger.

Visning af dine grupper, UID og GID

Til liste grupperne du er med, kan du bruge kommandoen grupper.

groups

For at få en liste over grupperne, deres numeriske ID’er, og dit UID og GID, brug id kommandoen:

id

Du kan bruge nogle muligheder med ID til at forfine outputtet.

-u: List dit UID.
-g: List din effektive (nuværende) GID.
-nu: List dit brugernavn.
-ng: List dit nuværende gruppenavn.

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

Visning af bruger- og gruppeejerskab af en fil

For at se ejerne af en fil eller et bibliotek skal du bruge -l (lang liste) mulighed med ls.

ls -l

Vi kan se, at navnet dave optræder to gange i listen. Udseendet længst til venstre fortæller os, at filejeren er en bruger kaldet dave. Dave længst til højre fortæller os, at filen tilhører en gruppe, der også kaldes dave.

  Sådan bruges PlayOnLinux til at spille Windows-spil på Linux

Som standard, når en Linux-bruger oprettes, føjes de til en privat gruppe opkaldt efter deres brugernavn. De er det eneste medlem af den gruppe.

Denne eksekverbare fil ejes af brugeren mary og gruppen filen tilhører er marys private gruppe.

ls -l

Denne fil ejes af brugeren oscar, men gruppen som filen tilhører kaldes researchlab. Det betyder, at andre medlemmer af researchlab-gruppen kan få adgang til denne fil i henhold til de filtilladelser, der er indstillet for medlemmerne af den pågældende gruppe.

Ændring af brugerejerskab

Lad os gennemgå nogle eksempler. Denne kommando vil ændre brugerens ejerskab af filen while.c til brugeren mary.

sudo chown mary while.c

Vi kan bruge ls til at se ændringerne af filegenskaberne.

ls -l while.c

Du kan bruge chown til at ændre ejerskabet af flere filer på én gang.

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

Dette ændrer brugerejerskabet af alle tre filer.

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

Du kan bruge jokertegn til at vælge grupper af filer. Denne kommando vil ændre brugerens ejerskab af alle filer, der begynder med bogstavet “c.”

sudo chown mary c*.*

Alle filerne vil nu have mary som deres ejer. Bemærk, at ingen af ​​gruppeejerskaberne er blevet ændret.

ls -l mary c*.*

Lad os ændre ejerskabet af en mappe. Vi videregiver simpelthen mappenavnet til chown i stedet for et filnavn.

sudo chown mary ./archive/

For at kontrollere mappens ejerskabsegenskaber bruger vi ls, men bruger også muligheden -d (mappe) til det. Dette viser egenskaberne for mappen, ikke filerne i den.

ls -l -d ./archive/

For at ændre ejerskabet af alle filerne i en mappe kan du bruge indstillingen -R (rekursiv). Denne mulighed vil ændre brugerens ejerskab af alle filer i arkivmappen.

sudo chown -R mary ./archive/

Lad os nu se på filerne i arkivmappen.

ls -l ./archive/

Som forventet tilhører alle filerne nu mary.

  Sådan spiller du Warhammer 40.000: Space Marine på Linux

Ændring af gruppeejerskab

Der er forskellige måder at ændre gruppeejerskabet på.

For at ændre gruppeejerskabet samtidig med, at du ændrer brugerejerskabet, skal du videregive det nye ejernavn og det nye gruppenavn med et kolon “:”, der adskiller dem. Gruppen skal allerede eksistere.

sudo chown mary:researchlab charm.c

Brugerens ejer og gruppen, som filen tilhører, er begge blevet ændret.

ls -l charm.c

En stenografisk måde at ændre gruppeejerskabet til den nye ejers nuværende gruppe. Angiv blot kolon og udelad gruppenavnet.

sudo chown mary: caps.c

ls -l caps.c

Både brugerejerskab og gruppeejerskab er blevet ændret til mary.

Hvis du kun vil ændre gruppeejerskabet, skal du sætte et kolon foran det og udelade brugernavnet. Brugerens ejer vil ikke blive ændret.

sudo chown :researchlab at.c

ls -l at.c

Gruppeejerskabet er blevet ændret, men brugerejerskabet forbliver det samme.

Brug af Chown med UID- og GID-værdier

Du kan bruge de numeriske UID- og GID-værdier med chown-kommandoen. Denne kommando indstiller brugeren og gruppens ejerskab til at mary.

sudo chown 1001:1001 at.c

ls -l at.c

Besiddelse er ni tiendedele af loven

Eller det siger de. Men i Linux er ejerskab en massiv del af filsikkerheden, hvor filtilladelser giver resten af ​​det. Brug kommandoerne chown og chmod til at sikre filadgang på dit system.