Android

Chown-opdracht in linux (bestandseigendom)

Linux команда chmod - команда изменения прав доступа.

Linux команда chmod - команда изменения прав доступа.

Inhoudsopgave:

Anonim

Met de opdracht chown kunt u het gebruikers- en / of groepseigendom van een bepaald bestand, map of symbolische koppeling wijzigen.

In Linux zijn alle bestanden gekoppeld aan een eigenaar en een groep en toegewezen aan toegangstoegangsrechten voor de eigenaar van het bestand, de groepsleden en anderen.

In deze zelfstudie laten we u zien hoe u de opdracht chown kunt gebruiken aan de hand van praktische voorbeelden.

chown

Laten we, voordat we ingaan op het gebruik van de opdracht chown , eerst de basissyntaxis bekijken.

De uitdrukkingen van de chown opdracht hebben de volgende vorm:

chown USER FILE(s)

USER is de gebruikersnaam of de gebruikers-ID (UID) van de nieuwe eigenaar. GROUP is de naam van de nieuwe groep of de groeps-ID (GID). FILE(s) is de naam van een of meer bestanden, mappen of links. Numerieke ID's moeten worden voorafgegaan door het + -symbool.

  • USER - Als alleen de gebruiker is opgegeven, wordt de opgegeven gebruiker de eigenaar van de gegeven bestanden, wordt het groepseigendom niet gewijzigd. USER: - Wanneer de gebruikersnaam wordt gevolgd door een dubbele punt : en de groepsnaam niet wordt gegeven, wordt de gebruiker de eigenaar van de bestanden en wordt het eigendom van de bestandsgroep gewijzigd in de aanmeldingsgroep van de gebruiker. USER:GROUP - Als zowel de gebruiker als de groep zijn opgegeven (zonder spatie), wordt het gebruikerseigendom van de bestanden gewijzigd in de gegeven gebruiker en wordt het groepseigendom gewijzigd in de gegeven groep. :GROUP - Als de gebruiker wordt weggelaten en de groep wordt voorafgegaan door een dubbele punt:, wordt alleen het groepseigendom van de bestanden gewijzigd in de gegeven groep. : Als alleen een dubbele punt : wordt gegeven, zonder de gebruiker en de groep op te geven, wordt er geen wijziging aangebracht.

Bij succes produceert chown standaard geen uitvoer en retourneert nul.

Gebruik de opdracht ls -l om erachter te komen van wie een bestand is of tot welke groep het bestand behoort:

ls -l filename.txt

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

Alleen root of gebruiker met sudo rechten kunnen het groepseigendom van een bestand wijzigen.

De eigenaar van een bestand wijzigen

Om de eigenaar van een bestand te wijzigen, gebruikt u de opdracht chown gevolgd door de gebruikersnaam van de nieuwe eigenaar en het doelbestand als argument:

chown USER FILE

Met de volgende opdracht wordt bijvoorbeeld de eigendom van een bestand met de naam file1 gewijzigd in een nieuwe eigenaar met de naam linuxize :

chown linuxize file1

Als u het eigendom van meerdere bestanden of mappen wilt wijzigen, geeft u deze op als een door spaties gescheiden lijst. De onderstaande opdracht wijzigt het eigendom van een bestand met de naam file1 en directory dir1 in een nieuwe eigenaar met de naam linuxize :

chown linuxize file1 dir1

Het numerieke gebruikers-ID (UID) kan worden gebruikt in plaats van de gebruikersnaam. In het volgende voorbeeld wordt het eigendom van een bestand met de naam file2 gewijzigd in een nieuwe eigenaar met een UID van 1000 :

chown 1000 file2

Als een numerieke eigenaar bestaat als gebruikersnaam, wordt het eigendom overgedragen aan de gebruikersnaam. Om dit voorvoegsel de ID met + :

chown 1000 file2

De eigenaar en groep van een bestand wijzigen

Om zowel de eigenaar als de groep van een bestand te wijzigen, gebruikt u de opdracht chown gevolgd door de nieuwe eigenaar en groep gescheiden door een dubbele punt (:) zonder tussenliggende spaties en het doelbestand.

chown USER:GROUP FILE

De volgende opdracht wijzigt het eigendom van een bestand met de naam file1 in een nieuwe eigenaar met de naam linuxize en groep users :

chown linuxize:users file1

Als u de groepsnaam achter de dubbele punt (:) weglaat, wordt de groep van het bestand gewijzigd in de aanmeldingsgroep van de opgegeven gebruiker:

chown linuxize: file1

Hoe de groep van een bestand te veranderen

Als u alleen de groep van een bestand wilt wijzigen, gebruikt u de opdracht chown gevolgd door een dubbele punt ( chown en de nieuwe groepsnaam (zonder spatie ertussen) en het doelbestand als argument:

chown:GROUP FILE

Met de volgende opdracht wordt de eigenaar van een bestand met de naam file1 gewijzigd in www-data :

chown:www-data file1

Een andere opdracht die u kunt gebruiken om het groepseigendom van bestanden te wijzigen, is chgrp .

Hoe het eigendom van symbolische koppelingen te wijzigen

Wanneer de recursieve optie niet wordt gebruikt, wijzigt de opdracht chown het groepseigendom van de bestanden waarnaar de symlinks verwijzen, niet de symbolische koppelingen zelf.

Als u bijvoorbeeld probeert de eigenaar en de groep van de symbolische koppeling symlink1 die naar /var/www/file1 chown , te wijzigen, wijzigt chown de eigendom van het bestand of de map waarnaar de symlink verwijst:

chown www-data: symlink1

De kans is groot dat in plaats van het doeleigendom te wijzigen, de foutmelding 'kan niet dereference' symlink1 'wordt weergegeven: toestemming geweigerd'.

De fout treedt op omdat standaard op de meeste Linux-distributies symlinks zijn beveiligd en u niet op doelbestanden kunt werken. Deze optie wordt opgegeven in /proc/sys/fs/protected_symlinks . 1 betekent ingeschakeld en 0 uitgeschakeld. We raden aan om de symlink-beveiliging niet uit te schakelen.

Gebruik de optie -h om het -h van de symlink zelf te wijzigen:

chown -h www-data symlink1

Hoe het bestandseigendom recursief te veranderen

Gebruik de optie -R ( --recursive ) om recursief op alle bestanden en mappen in de opgegeven map te werken:

chown -R USER:GROUP DIRECTORY

In het volgende voorbeeld wordt het eigendom van alle bestanden en submappen in de map /var/www gewijzigd in een nieuwe eigenaar en groep met de naam www-data :

chown -R www-data: /var/www

Als de map symbolische koppelingen bevat, geeft u de optie -h :

chown -hR www-data: /var/www

Andere opties die kunnen worden gebruikt bij het recursief wijzigen van het mapbezit zijn -H en -L .

Als het argument dat wordt doorgegeven aan de opdracht chown een symbolische link is die naar een map verwijst, zorgt de optie -H ervoor dat de opdracht deze doorloopt. -L vertelt chown om elke symbolische link naar een map die wordt aangetroffen te doorlopen. Gewoonlijk zou u deze opties niet moeten gebruiken omdat u uw systeem zou kunnen verknoeien of een beveiligingsrisico zou kunnen veroorzaken.

Een referentiebestand gebruiken

Met de optie --reference=ref_file kunt u het gebruikers- en --reference=ref_file van bepaalde bestanden wijzigen zodat deze hetzelfde zijn als die van het opgegeven referentiebestand ( ref_file ). Als het referentiebestand een symbolische link is, gebruikt chown de gebruiker en de groep van het doelbestand.

chown --reference=REF_FILE FILE

Met de volgende opdracht wordt bijvoorbeeld het eigendom van de gebruiker en de groep van file1 toegewezen aan file2

chown --reference=file1 file2

Conclusie

chown is een Linux / UNIX-opdrachtregelprogramma voor het wijzigen van het gebruikers- en / of groepseigendom van het bestand.

Ga voor meer informatie over het commando chown naar de pagina chown man of typ man chown in je terminal.

Chown Terminal