Android

Chown-kommando i Linux (fileierskap)

Linux - Change Permissions and Ownership for Files and Folders (chmod, chown, members, groups )

Linux - Change Permissions and Ownership for Files and Folders (chmod, chown, members, groups )

Innholdsfortegnelse:

Anonim

chown kommandoen lar deg endre bruker- og / eller gruppeeierskap til en gitt fil, katalog eller symbolkobling.

I Linux er alle filer assosiert med en eier og en gruppe og tildelt rettighetsrettigheter for fileieren, gruppemedlemmene og andre.

I denne opplæringen vil vi vise deg hvordan du bruker chown kommandoen gjennom praktiske eksempler.

Hvordan bruke chown

Før vi går inn på hvordan du bruker chown kommandoen, la oss begynne med å gå gjennom den grunnleggende syntaks.

Kommandouttrykkene for chown har følgende form:

chown USER FILE(s)

USER er brukernavnet eller bruker-ID (UID) til den nye eieren. GROUP er navnet på den nye gruppen eller gruppen ID (GID). FILE(s) er navnet på en eller flere filer, kataloger eller lenker. Numeriske IDer bør være forhåndsinnstilt med + -symbolet.

  • USER - Hvis bare brukeren er spesifisert, vil den angitte brukeren bli eier av de gitte filene, gruppeeierskapet blir ikke endret. USER: - Når brukernavnet følges av en kolon:, og gruppenavnet ikke er gitt, vil brukeren bli eier av filene, og filgruppeeierskapet blir endret til brukerens påloggingsgruppe. USER:GROUP - Hvis både brukeren og gruppen er spesifisert (uten mellomrom mellom dem), endres brukereierskapet til filene til den gitte brukeren, og gruppeeierskapet endres til den gitte gruppen. :GROUP - Hvis brukeren er utelatt og gruppen er forhåndsinnstilt med en kolon:, blir bare gruppeeierskapet til filene endret til den gitte gruppen. : Hvis det bare gis en kolon : uten å spesifisere brukeren og gruppen, gjøres ingen endringer.

Som suksess produserer ikke chown noe output og returnerer null.

Bruk kommandoen ls -l å finne ut hvem som eier en fil eller hvilken gruppe filen tilhører:

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | +-----------> Group +-------------------> Owner

Bare root eller bruker med sudo rettigheter kan endre gruppeeierskap til en fil.

Hvordan endre eier av en fil

For å endre eier av en fil bruker du chown kommandoen etterfulgt av brukernavnet til den nye eieren og målfilen som et argument:

chown USER FILE

For eksempel vil følgende kommando endre eierskapet til en fil som heter file1 til en ny eier som heter linuxize :

chown linuxize file1

Hvis du vil endre eierskapet til flere filer eller kataloger, angir du dem som en mellomrom-skilt liste. Kommandoen nedenfor endrer eierskapet til en fil som heter file1 og katalogdir1 til en ny eier som heter linuxize :

chown linuxize file1 dir1

Den numeriske bruker-ID (UID) kan brukes i stedet for brukernavnet. Følgende eksempel vil endre eierforholdet til en fil som heter file2 til en ny eier med UID på 1000 :

chown 1000 file2

Hvis en numerisk eier eksisterer som et brukernavn, vil eierskapet bli overført til brukernavnet. For å unngå dette prefikset ID med + :

chown 1000 file2

Hvordan endre eier og gruppe av en fil

For å endre både eier og gruppe av en fil bruker du chown kommandoen etterfulgt av den nye eieren og gruppen atskilt med en kolon (:) uten mellomliggende mellomrom og målfilen.

chown USER:GROUP FILE

Følgende kommando vil endre eierskapet til en fil som heter file1 til en ny eier som heter linuxize og linuxize :

chown linuxize:users file1

Hvis du utelater gruppenavnet etter kolon (:), endres gruppen av filen til den angitte brukerens påloggingsgruppe:

chown linuxize: file1

Slik endrer du gruppen av en fil

Hvis du bare vil endre gruppen i en fil, bruker du chown kommandoen etterfulgt av en kolon ( chown og det nye gruppenavnet (uten mellomrom) og målfilen som et argument:

chown:GROUP FILE

Følgende kommando vil endre eiergruppen til en fil som heter file1 til www-data :

chown:www-data file1

En annen kommando som du kan bruke til å endre gruppeeierskap til filer er chgrp .

Slik endrer du eierskap til symbolsk lenker

Når det rekursive alternativet ikke brukes, endrer chown kommandoen chown til filene som symlinkene peker til, ikke de symbolske koblingene.

Hvis du for eksempel prøver å endre eier og gruppen til symbolsk lenke symlink1 som peker til /var/www/file1 , vil chown endre eierskapet til filen eller kataloge symlinkene til:

chown www-data: symlink1

Sjansen er stor for at i stedet for å endre målseierskap, vil du få en "ikke kan føre til" symlink1: feil tillatelse nektet.

Feilen oppstår fordi som standard på de fleste Linux-distribusjoner er symlinker beskyttet, og du ikke kan operere på målfiler. Dette alternativet er spesifisert i /proc/sys/fs/protected_symlinks . 1 betyr aktivert og 0 deaktivert. Vi anbefaler ikke å deaktivere symlinkbeskyttelsen.

Hvis du vil endre gruppeeierskap til selve symlinken, bruker du alternativet -h :

chown -h www-data symlink1

Hvordan endre rekursivt fileierskap

Hvis du vil bruke rekursivt på alle filer og kataloger under den gitte katalogen, bruker du alternativet -R (- --recursive ):

chown -R USER:GROUP DIRECTORY

Følgende eksempel vil endre eierforholdet til alle filer og underkataloger under /var/www katalogen til en ny eier og gruppe som heter www-data :

chown -R www-data: /var/www

Hvis katalogen inneholder symbolske lenker, passerer alternativet -h :

chown -hR www-data: /var/www

Andre alternativer som kan brukes når du rekursivt endrer katalogeierskap, er -H og -L .

Hvis argumentet som er gitt til chown kommandoen er en symbolsk kobling som peker til en katalog, vil alternativet -H føre til at kommandoen krysser den. -L forteller chown å krysse hver symbolsk lenke til en katalog som blir funnet. Vanligvis bør du ikke bruke disse alternativene fordi du kan rote systemet ditt eller opprette en sikkerhetsrisiko.

Bruker en referansefil

Alternativet --reference=ref_file lar deg endre bruker- og --reference=ref_file til gitte filer til å være de samme som for den spesifiserte referansefilen ( ref_file ). Hvis referansefilen er en symbolsk lenke, bruker brukeren og gruppen av målfilen.

chown --reference=REF_FILE FILE

For eksempel vil følgende kommando tilordne bruker og file1 til file2 til file2

chown --reference=file1 file2

Konklusjon

chown er et Linux / UNIX kommandolinjeverktøy for å endre filens bruker- og / eller gruppeeierskap.

For å lære mer om chown kommandoen, besøk chown man-siden eller skriv man chown i terminalen din.

chown terminal