Android

Chown-kommando i Linux (filejerskab)

Linux Terminal und Bash Grundlagen Teil 5 - Benutzer, Gruppen und Dateirechte

Linux Terminal und Bash Grundlagen Teil 5 - Benutzer, Gruppen und Dateirechte

Indholdsfortegnelse:

Anonim

chown kommandoen giver dig mulighed for at ændre bruger- og / eller gruppeejerskab for en given fil, katalog eller et symbolsk link.

I Linux er alle filer tilknyttet en ejer og en gruppe og tildelt tilladelsesadgangsrettigheder for filsejeren, gruppemedlemmerne og andre.

I denne tutorial vil vi vise dig, hvordan du bruger chown kommandoen gennem praktiske eksempler.

Sådan bruges chown

Før vi går ind på, hvordan du bruger chown kommandoen, lad os starte med at gennemgå den grundlæggende syntaks.

chown kommandoudtrykket har følgende form:

chown USER FILE(s)

USER er brugernavnet eller bruger-ID (UID) for den nye ejer. GROUP er navnet på den nye gruppe eller gruppe-ID (GID). FILE(s) er navnet på en eller flere filer, mapper eller links. Numeriske ID'er skal forudindstilles med + symbolet.

  • USER - Hvis kun brugeren er specificeret, bliver den angivne bruger ejer af de givne filer, gruppeejerskabet ændres ikke. USER: - Når brugernavnet følges af en kolon:, og gruppenavnet ikke gives, bliver brugeren ejer af filerne, og filgruppeejerskabet ændres til brugerens login-gruppe. USER:GROUP - Hvis både brugeren og gruppen er specificeret (uden mellemrum mellem dem), ændres brugerejerskabet af filerne til den givne bruger, og gruppeejerskabet ændres til den givne gruppe. :GROUP - Hvis brugeren er udeladt, og gruppen er præfixeret med en kolon : ændres kun gruppeejerskabet til filerne til den givne gruppe. : Hvis der kun gives en kolon : uden at specificere brugeren og gruppen, foretages der ingen ændringer.

Som standard producerer chown ikke noget output og returnerer nul.

Brug kommandoen ls -l til at finde ud af, hvem der ejer 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

Kun root eller bruger med sudo privilegier kan ændre gruppeejerskabet til en fil.

Sådan ændres ejeren af ​​en fil

For at ændre ejeren af ​​en fil skal du bruge chown kommandoen efterfulgt af brugernavnet til den nye ejer og målfilen som et argument:

chown USER FILE

For eksempel ændrer følgende kommando ejerskabet til en fil med navnet file1 til en ny ejer ved navn linuxize :

chown linuxize file1

Hvis du vil ændre ejerskabet af flere filer eller mapper, skal du specificere dem som en pladsadskilt liste. Kommandoen nedenfor ændrer ejerskabet til en fil med navnet file1 og bibliotek dir1 til en ny ejer ved navn linuxize :

chown linuxize file1 dir1

Det numeriske bruger-ID (UID) kan bruges i stedet for brugernavnet. Følgende eksempel ændrer ejerskabet til en fil med navnet file2 til en ny ejer med UID på 1000 :

chown 1000 file2

Hvis der findes en numerisk ejer som et brugernavn, overføres ejerskabet til brugernavnet. For at undgå dette præfiks ID med + :

chown 1000 file2

Sådan ændres ejeren og gruppen af ​​en fil

For at ændre både ejeren og gruppen af ​​en fil skal du bruge chown kommandoen efterfulgt af den nye ejer og gruppen adskilt af en kolon (:) uden mellemrum og målfilen.

chown USER:GROUP FILE

Den følgende kommando ændrer ejerskabet til en fil med navnet file1 til en ny ejer ved navn linuxize og linuxize :

chown linuxize:users file1

Hvis du udelader gruppens navn efter kolon (:), ændres filgruppen til den angivne brugers login-gruppe:

chown linuxize: file1

Sådan ændres gruppen af ​​en fil

Hvis du kun vil ændre gruppen af ​​en fil, skal du bruge chown kommandoen efterfulgt af et kolon (:) og det nye gruppens navn (uden mellemrum mellem dem) og målfilen som et argument:

chown:GROUP FILE

Den følgende kommando vil ændre den ejende gruppe af en fil med navnet file1 til www-data :

chown:www-data file1

En anden kommando, som du kan bruge til at ændre gruppeejerskab af filer, er chgrp .

Sådan ændres ejerskab af symbolsk links

Når den rekursive mulighed ikke bruges, ændrer chown kommandoen gruppeejerskabet af de filer, som symlinkene peger på, ikke de symboliske links i sig selv.

Hvis du f.eks. Prøver at ændre ejeren og gruppen af ​​det symboliske link symlink1 der peger på /var/www/file1 , ændrer chown ejerskabet til filen eller kataloger symlinkpunkterne til:

chown www-data: symlink1

Chancerne er store, at i stedet for at ændre målejerskabet, får du en "ikke kan ændre 'symlink1': tilladelse afvist" -fejl.

Fejlen opstår, fordi som standard på de fleste Linux-distributioner er symlink beskyttet, og du kan ikke operere på målfiler. Denne indstilling er specificeret i /proc/sys/fs/protected_symlinks . 1 betyder aktiveret og 0 deaktiveret. Vi anbefaler ikke at deaktivere symlinkbeskyttelsen.

Hvis du vil ændre gruppeejerskabet af selve symlinket, skal du bruge indstillingen -h :

chown -h www-data symlink1

Sådan ændres rekursivt fileejerskab

Hvis du vil rekursivt betjene alle filer og mapper under det givne bibliotek, skal du bruge indstillingen -R (- --recursive ):

chown -R USER:GROUP DIRECTORY

Følgende eksempel ændrer ejerskabet til alle filer og undermapper under mappen /var/www til en ny ejer og gruppe med navnet www-data :

chown -R www-data: /var/www

Hvis biblioteket indeholder symboliske links, -h :

chown -hR www-data: /var/www

Andre muligheder, der kan bruges ved rekursivt ændring af katalogejerskabet, er -H og -L .

Hvis argumentet, der er overført til chown kommandoen, er et symbolsk link, der peger på et bibliotek, vil indstillingen -H få kommandoen til at krydse den. -L fortæller chown at krydse hvert symbolsk link til et bibliotek, der er fundet. Normalt bør du ikke bruge disse indstillinger, fordi du muligvis rodet dit system eller skaber en sikkerhedsrisiko.

Brug af en referencefil

Indstillingen --reference=ref_file giver dig mulighed for at ændre bruger- og gruppeejerskab for givne filer til at være de samme som for den specificerede referencefil ( ref_file ). Hvis referencefilen er et symbolsk link, bruger brugeren og gruppen af ​​målfilen.

chown --reference=REF_FILE FILE

For eksempel tildeler følgende kommando bruger- og gruppeejerskab af file1 til file2

chown --reference=file1 file2

Konklusion

chown er et Linux / UNIX kommandolinjeværktøj til at ændre filens bruger- og / eller gruppeejerskab.

Hvis du vil lære mere om chown kommandoen, skal du besøge siden Chown man eller skriv man chown i din terminal.

chown terminal