Android

Chgrp-opdracht in linux (wijzigingsgroep)

chgrp and chown

chgrp and chown

Inhoudsopgave:

Anonim

In Linux is elk bestand gekoppeld aan een eigenaar en een groep en heeft het machtigingen die bepalen welke gebruikers het bestand mogen lezen, schrijven of uitvoeren.

De opdracht chgrp wijzigt het groepseigendom van bepaalde bestanden.

Deze gids legt uit hoe chgrp te gebruiken.

chgrp Command Syntax

De opdracht chgrp heeft de volgende vorm:

chgrp GROUP FILE..

  • GROUP , naam van de nieuwe groep of de groeps-ID (GID). Numerieke GID moet worden voorafgegaan door het + -symbool. FILE.. , naam van een of meer bestanden.

In tegenstelling tot de opdracht chown waarmee u het gebruikers- en chgrp wijzigen, wijzigt chgrp alleen het groepseigendom.

Gebruik de opdracht ls -l om erachter te komen bij welke groep het bestand hoort.

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

Hoe het eigendom van de bestandsgroep te wijzigen

Om het groepseigendom van een bestand of map te wijzigen, roept u de opdracht chgrp gevolgd door de nieuwe groepsnaam en het doelbestand als argumenten.

Als u bijvoorbeeld de groep van de filename in www-data wilt wijzigen, zou u:

chgrp www-data filename

U kunt ook meerdere bestanden als argumenten doorgeven aan de opdracht chgrp :

chgrp www-data file1 file2 dir1

Gebruik de optie -v om informatie te krijgen over de bestanden die worden verwerkt:

chgrp www-data file1 file2

changed group of 'file1' from nginx to www-data group of 'file2' retained as www-data

Gebruik alleen -c plaats van -v om alleen informatie af te drukken over de bestanden die daadwerkelijk worden gewijzigd.

De numerieke groeps-ID (GID) kan worden gebruikt in plaats van de gebruikersnaam. In het volgende voorbeeld wordt het groepseigendom van het bestand gewijzigd in een nieuwe groep met GID van 1000:

chgrp +1000 filename

Hoe het eigendom van Symlinks-groepen te wijzigen

Wanneer het niet recursief werkt, is het standaardgedrag van de opdracht chgrp het chgrp van de symlink-doelen te wijzigen, niet de symbolische koppelingen zelf.

Als u bijvoorbeeld probeert de groep van de symbolische koppeling symlink1 die verwijst naar /opt/file1 , wijzigt chgrp de eigendom van het bestand of de map waarnaar de symlink verwijst:

chgrp www-data symlink1

De kans is groot dat u in plaats van de doelgroep te wijzigen de foutmelding 'kan niet afleiden' symlink1 'krijgt: 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:

chgrp -h www-data symlink1

Hoe u het groepseigendom recursief kunt wijzigen

Gebruik de optie -R om het -R van alle bestanden en mappen onder een bepaalde map recursief te wijzigen.

Met de volgende opdracht wordt bijvoorbeeld het eigendom van alle bestanden en mappen in de map /var/www gewijzigd in de www-data :

chgrp -R www-data /var/www

Wanneer de recursieve optie is opgegeven, zal chgrp de symbolische koppelingen niet doorkruisen en geen wijzigingen aanbrengen in de symlinks. Om de groepseigendom van de symbolische koppelingen te wijzigen, geeft u de optie -h :

chgrp -hR www-data /var/www

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

Als het argument dat wordt doorgegeven aan de opdracht chgrp een symbolische koppeling is, zorgt de optie -H ervoor dat de opdracht deze doorloopt. -L vertelt chgrp om elke symlink naar een directory te verplaatsen die wordt aangetroffen. In de meeste gevallen moet u deze opties niet gebruiken omdat u uw systeem zou kunnen verknoeien of een beveiligingsrisico kunt veroorzaken.

Conclusie

chgrp wijzigt het chgrp van bestanden, mappen en symlinks.

Hoewel u de meer populaire opdracht chown gebruiken om de groep te wijzigen, heeft chgrp een eenvoudige syntaxis die gemakkelijk te onthouden is.

chgrp voor meer informatie over de opdracht chgrp naar de pagina chgrp man of typ man chgrp in uw terminal.

Chgrp-terminal