Android

Chown-kommando i Linux (filägande)

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 )

Innehållsförteckning:

Anonim

chown kommandot låter dig ändra användar- och / eller gruppägande av en given fil, katalog eller symbolisk länk.

I Linux är alla filer associerade med en ägare och en grupp och tilldelas behörighetsbehörighet för filägaren, gruppmedlemmarna och andra.

I denna handledning visar vi dig hur du använder chown kommandot genom praktiska exempel.

Hur man använder chown

Innan vi går in på hur man använder chown kommandot, låt oss börja med att granska grundsyntaxen.

chown har följande form:

chown USER FILE(s)

USER är användarnamnet eller användar-ID (UID) för den nya ägaren. GROUP är namnet på den nya gruppen eller grupp-ID (GID). FILE(s) är namnet på en eller flera filer, kataloger eller länkar. Numeriska ID: er bör förinställas med + -symbolen.

  • USER - Om endast användaren anges kommer den angivna användaren att bli ägare till de givna filerna, gruppändring ändras inte. USER: - När användarnamnet följs av en kolon:, och gruppnamnet inte ges, kommer användaren att bli ägaren till filerna, och filgruppsägande ändras till användarens inloggningsgrupp. USER:GROUP - Om både användaren och gruppen anges (utan utrymme mellan dem) ändras filägarens användarägande till den givna användaren och gruppägarskapet ändras till den angivna gruppen. :GROUP - Om användaren utelämnas och gruppen förinställs med en kolon:, ändras endast gruppägande till filerna till den angivna gruppen. : Om endast en kolon : ges, utan att ange användaren och gruppen, görs ingen förändring.

Som standard producerar chown ingen produktion och returnerar noll.

Använd kommandot ls -l att ta reda på vem som äger en fil eller vilken grupp filen tillhör:

ls -l filename.txt

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

Endast root eller användare med sudo privilegier kan ändra gruppägande till en fil.

Hur man ändrar ägaren till en fil

För att ändra ägaren till en fil använder du chown kommandot följt av användarnamnet för den nya ägaren och målfilen som ett argument:

chown USER FILE

Till exempel kommer följande kommando att ändra äganderätten till en fil med namnet file1 till en ny ägare med namnet linuxize :

chown linuxize file1

Om du vill ändra äganderätten till flera filer eller kataloger anger du dem som en mellanseparerad lista. Kommandot nedan ändrar äganderätten till en fil med namnet file1 och katalog dir1 till en ny ägare med namnet linuxize :

chown linuxize file1 dir1

Det numeriska användar-ID (UID) kan användas istället för användarnamnet. Följande exempel kommer att ändra äganderätten till en fil med namnet file2 till en ny ägare med UID på 1000 :

chown 1000 file2

Om en numerisk ägare existerar som ett användarnamn överförs ägandet till användarnamnet. För att undvika detta prefix ID med + :

chown 1000 file2

Hur man ändrar filens ägare och grupp

För att ändra både ägaren och gruppen i en fil använder du chown kommandot följt av den nya ägaren och gruppen separerade av en kolon ( chown utan mellanrum och målfilen.

chown USER:GROUP FILE

Följande kommando kommer att ändra äganderätten till en fil med namnet file1 till en ny ägare som heter linuxize och linuxize :

chown linuxize:users file1

Om du utelämnar gruppnamnet efter kolon (:) ändras filgruppen till den angivna användarens inloggningsgrupp:

chown linuxize: file1

Hur man ändrar en filgrupp

För att bara ändra gruppen i en fil använder du chown kommandot följt av en kolon ( chown och det nya gruppnamnet (utan mellanrum mellan dem) och målfilen som ett argument:

chown:GROUP FILE

Följande kommando ändrar ägargruppen för en fil med namnet file1 till www-data :

chown:www-data file1

Ett annat kommando som du kan använda för att ändra gruppägande av filer är chgrp .

Hur man ändrar äganderätt till symboliska länkar

När det rekursiva alternativet inte används, chown kommandot chown av de filer som symlänkar pekar till, inte själva symbollänkar.

Om du till exempel försöker ändra ägaren och gruppen för den symboliska länken symlink1 som pekar på /var/www/file1 kommer chown att ändra ägandet till filen eller /var/www/file1 chown till:

chown www-data: symlink1

Chansen är stor att du istället för att ändra målägarskapet får ett "inte duferens 'symlink1": Tillstånd nekad ”-fel.

Felet inträffar på grund av att de flesta Linux-distributioner är symlänkar skyddade och du kan inte använda målfiler. Det här alternativet anges i /proc/sys/fs/protected_symlinks . 1 betyder aktiverat och 0 inaktiverat. Vi rekommenderar att du inte inaktiverar symlink-skyddet.

För att ändra gruppägande av själva symlänken använder du alternativet -h :

chown -h www-data symlink1

Hur man ändrar rekursivt filägande

För att rekursivt använda alla filer och kataloger under den givna katalogen använder --recursive alternativet -R (- --recursive ):

chown -R USER:GROUP DIRECTORY

Följande exempel kommer att ändra ägandet av alla filer och underkataloger under katalogen /var/www till en ny ägare och grupp med namnet www-data :

chown -R www-data: /var/www

Om katalogen innehåller symboliska länkar passerar alternativet -h :

chown -hR www-data: /var/www

Andra alternativ som kan användas vid rekursivt ändring av katalogägande är -H och -L .

Om argumentet som skickas till chown kommandot är en symbolisk länk som pekar på en katalog, kommer alternativet -H att få kommandot att korsa det. -L ber chown att korsa varje symbolisk länk till en katalog som stöds på. Vanligtvis bör du inte använda de här alternativen eftersom du kan skada ditt system eller skapa en säkerhetsrisk.

Använda en referensfil

--reference=ref_file låter dig ändra användar- och gruppägande för givna filer så att de är samma som för den angivna referensfilen ( ref_file ). Om referensfilen är en symbolisk länk chown använder användaren och gruppen för målfilen.

chown --reference=REF_FILE FILE

Till exempel tilldelar följande kommando användaren och file1 av file1 till file2

chown --reference=file1 file2

Slutsats

chown är ett Linux / UNIX-kommandoradsverktyg för att ändra filens användar- och / eller gruppägande.

För att lära dig mer om chown kommandot, besök chown man-sidan eller skriv man chown i din terminal.

chown terminal