Crea sito

Comando chgrp

10 / 100

In Linux, ogni file è associato a un proprietario ea un gruppo e dispone di autorizzazioni che determinano quali utenti possono leggere, scrivere o eseguire il file. Questo articolo spiega come utilizzare il comando chgrp per modificare la proprietà del gruppo di determinati file.

chgrp Sintassi dei comandi
Il comando chgrp assume la seguente forma:

chgrp [OPTIONS] GROUP FILE..

GROUP, nome del nuovo gruppo o ID gruppo (GID). Il GID numerico deve essere preceduto dal +simbolo.
FILE.., nome di uno o più file.
A differenza del comando chown 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, utilizzare il comando ls -l.

Gli utenti regolari possono modificare il gruppo del file solo se possiedono il file e solo per un gruppo di cui sono membri. 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 il comando chgrp seguito dal nuovo nome del gruppo e dal file di destinazione come argomenti. Ad esempio, per modificare il gruppo del file filename in www-data cui eseguire:

chgrp www-data filename

Se esegui il comando con un utente non privilegiato, otterrai un errore “Operazione non consentita”. Per eliminare il messaggio di errore, richiamare il comando con l’opzione -f.

Per impostazione predefinita, in caso di successo, chgrp non produce alcun output e restituisce zero.

Puoi anche passare più file come argomenti al chgrpcomando:

chgrp www-data file1 file2 dir1

Utilizzare l’ opzione -v per ottenere informazioni sui file in corso di elaborazione:

chgrp www-data file1 file2

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

Per stampare informazioni solo su quei file il cui gruppo cambia effettivamente, usa -c invece di -v.

L’ID numerico del gruppo (GID) può essere utilizzato al posto del nome utente. L’esempio seguente modifica la proprietà del gruppo del file in un nuovo gruppo con GID 1000:

chgrp +1000 filename

Come modificare la proprietà del gruppo di collegamenti simbolici
Quando non si opera in modo ricorsivo, il comportamento predefinito del chgrpcomando è modificare la proprietà del gruppo delle destinazioni dei collegamenti simbolici , non i collegamenti simbolici stessi.

Ad esempio, se provi a cambiare il gruppo del collegamento simbolico symlink1che punta a /opt/file1, chgrpcambierà la proprietà del file o della directory a cui punta il collegamento simbolico :

chgrp www-data symlink1

È probabile che invece di cambiare il gruppo target, otterrai un errore “impossibile dereferenziare ‘symlink1’: Permesso negato”.

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. 1significa abilitato e 0disabilitato. Si consiglia di non disabilitare la protezione del collegamento simbolico.

Per modificare la proprietà del gruppo del collegamento simbolico stesso, utilizzare l’ -hopzione:

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 l’ – opzione R .

Ad esempio, il seguente comando cambierà la proprietà di tutti i file e le directory nella /var/wwwdirectory nel www-datagruppo:

chgrp -R www-data /var/www

Quando viene specificata l’opzione ricorsiva chgrp, non attraverserà i collegamenti simbolici e non apporterà modifiche ai collegamenti simbolici. Per modificare la proprietà del gruppo dei collegamenti simbolici, passare l’ -hopzione:

chgrp -hR www-data /var/www

Altre opzioni che possono essere utilizzate quando si modifica in modo ricorsivo la proprietà del gruppo sono -He -L.

Se l’argomento passato al chgrpcomando è un collegamento simbolico, l’ -Hopzione farà sì che il comando lo attraversi. -Ldice chgrp di 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.

Sebbene tu possa usare il comandochown più popolare per cambiare il gruppo, chgrp ha una sintassi semplice che è facile da ricordare.

Per maggiori informazioni sul comando chgrp, visita la pagina man di chgrp o digita man chgrpnel tuo terminale.

Translate »