In Linux, ogni file è associato a un proprietario e a un gruppo e dispone di autorizzazioni che determinano quali utenti possono leggere, scrivere o eseguire il file.
 Questo articolo spiega come usare chgrp comando per modificare la proprietà del gruppo di determinati file.
chgrp Sintassi del comando #
 
 Il chgrp il comando assume la forma seguente:
chgrp [OPTIONS] GROUP FILE..
 GROUP, il nome del nuovo gruppo o l'ID gruppo (GID). Il GID numerico deve essere preceduto dal+simbolo.FILE.., nome di uno o più file.
 A differenza del chown comando che consente di modificare la proprietà dell'utente e del gruppo, chgrp cambia solo la proprietà del gruppo.
 Per scoprire a quale gruppo appartiene il file, usa ls -l comando.
Gli utenti regolari possono modificare il gruppo del file solo se sono proprietari del file e solo in un gruppo di cui fanno parte. Gli utenti amministrativi possono modificare la proprietà del gruppo di tutti i file.
Come modificare la proprietà del gruppo di file #
 Per modificare la proprietà del gruppo di un file o di una directory, richiamare chgrp comando seguito dal nuovo nome del gruppo e dal file di destinazione come argomenti.
 Ad esempio, per modificare il gruppo del file filename a www-data correresti:
chgrp www-data filename 
 Se esegui il comando con un utente senza privilegi, riceverai un errore "Operazione non consentita". Per eliminare il messaggio di errore, invoca il comando con -f opzione. Per impostazione predefinita, in caso di successo, chgrp non produce alcun output e restituisce zero.
 Puoi anche passare più file come argomenti a chgrp comando:
chgrp www-data file1 file2 dir1 
 Usa il -v opzione per ottenere informazioni sui file che vengono elaborati:
chgrp www-data file1 file2 changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data
 
 Per stampare le informazioni solo su quei file il cui gruppo effettivamente cambia usa -c invece di -v .
L'ID gruppo numerico (GID) può essere utilizzato al posto del nome utente. L'esempio seguente cambia la proprietà del gruppo del file in un nuovo gruppo con GID di 1000:
chgrp +1000 filename Come modificare la proprietà del gruppo di collegamenti simbolici #
 Quando non opera in modo ricorsivo, il comportamento predefinito di chgrp il comando è quello di modificare la proprietà del gruppo delle destinazioni del collegamento simbolico, non i collegamenti simbolici stessi.
 Ad esempio, se si tenta di modificare il gruppo del collegamento simbolico symlink1 che punta a /opt/file1 , chgrp cambierà la proprietà del file o della directory a cui punta il collegamento simbolico:
chgrp www-data symlink1 È probabile che invece di modificare il gruppo di destinazione, venga visualizzato l'errore "cannot dereference" link simbolico1:autorizzazione negata".
 L'errore si verifica perché per impostazione predefinita sulla maggior parte delle distribuzioni Linux, i collegamenti simbolici sono protetti e non è possibile operare sui file di destinazione. Questa opzione è specificata in /proc/sys/fs/protected_symlinks . 1 significa abilitato e 0 Disabilitato. Si consiglia di non disabilitare la protezione del collegamento simbolico.
 Per modificare la proprietà del gruppo del collegamento simbolico stesso, usa il -h opzione:
chgrp -h www-data symlink1 Come modificare ricorsivamente la proprietà del gruppo #
 Per modificare in modo ricorsivo la proprietà del gruppo di tutti i file e le directory in una determinata directory, utilizzare il -R opzione.
 Ad esempio, il comando seguente cambierà la proprietà di tutti i file e le directory sotto /var/www directory al www-data gruppo:
chgrp -R www-data /var/www 
 Quando l'opzione ricorsiva è specificata chgrp non attraverserà i collegamenti simbolici e non apporterà modifiche ai collegamenti simbolici. Per modificare la proprietà del gruppo dei link simbolici, passa il -h opzione:
chgrp -hR www-data /var/www 
 Altre opzioni che possono essere utilizzate quando si modifica ricorsivamente la proprietà del gruppo sono -H e -L .
 Se l'argomento è passato a chgrp comando è un collegamento simbolico, il -H opzione farà sì che il comando lo attraversi. -L dice a chgrp per attraversare ogni collegamento simbolico a una directory incontrata. Nella maggior parte dei casi, non dovresti usare queste opzioni perché potresti rovinare il tuo sistema o creare un rischio per la sicurezza.
Conclusione #
 chgrp cambia la proprietà del gruppo di file, directory e collegamenti simbolici.
 Anche se puoi usare il più popolare chown comando per cambiare il gruppo, chgrp ha una sintassi semplice e facile da ricordare.
 Per ulteriori informazioni su chgrp comando, visita la pagina man di chgrp o digita man chgrp nel tuo terminale.
Se hai domande o feedback, sentiti libero di lasciare un commento.