Metodi di pagamento Abuse

Comando CHGRP LINUX

14.12.2021, 10:30

Spesso quando si utilizza Linux, gli utenti pensano raramente a chi è il proprietario di un file. Quando si tratta di gestire un server, tuttavia, la situazione cambia. Per aumentare la sicurezza, il server ha un proprio utente. Non è raro che i server utilizzino lo stesso gruppo, come www-data. Vediamo ora come funziona questa funzione con i file e le directory. Presteremo particolare attenzione ai collegamenti simbolici, che possono causare problemi quando si utilizzano impostazioni non sicure.

Cosa significa

Lo standard dei permessi dei file è arrivato a Linux da Unix. Quindi ogni oggetto ha un utente, un gruppo e descrive i diritti deglialtri utenti(altri). I permessi consistono in tre voci: lettura, scrittura, esecuzione. Il comando umask viene utilizzato per modificare i permessi, mentre i comandi chown vengono utilizzati per modificare direttamente il proprietario e il gruppo. Il comando ls può essere usato per visualizzare i permessi correnti.

Sintassi e opzioni

Vista generale del comando chgrp:

$ chgrp [options] new_group file_name

Elenco delle opzioni comuni per il comando chgrp:

  1. -h - lavora direttamente con i collegamenti simbolici stessi;
  2. --dereference - lavora con i file, non con i collegamenti simbolici stessi. Utilizzata per impostazione predefinita;
  3. -R - elaborazione ricorsiva di una directory con tutto il suo contenuto;
  4. -H - segue il collegamento simbolico e modifica gli attributi del file/della directory. Usato insieme al parametro -R;
  5. -L - segue il collegamento simbolico e continua l'elaborazione ricorsiva. Usato insieme al parametro -R;
  6. -P - quando incontra un collegamento simbolico, elabora solo quello. Usato insieme al parametro -R, è il valore predefinito;
  7. --reference=nome_file - utilizza il gruppo di esempio;
  8. -c - l'output cambia solo durante l'elaborazione;
  9. -v - visualizza le informazioni su ogni oggetto elaborato.

Utilizzo del comando

L'esempio più semplice di utilizzo del comando chgrp. Il seguente cambia l'intero oggetto www-data per il file nella cartella corrente:

$ sudo chgrp www-data file.txt

E questo cambia il gruppo in www-data per la cartella della cartella:

 $ sudo chgrp www-data folder

Il comando funziona in modo molto prevedibile, cambiando il gruppo. Gli oggetti della cartella rimangono invariati. Se vengono gestiti i collegamenti simbolici, i loro attributi rimangono invariati, ma l'oggetto ottiene un nuovo gruppo. Questo comportamento è simile alla gestione del parametro --dereference.

Ad esempio, questi comandi applicati ai collegamenti simbolici funzioneranno come mostrato nell'immagine:

$ sudo chgrp www-data sym_file.txt

Vediamo come funziona il parametro -h che modifica gli attributi di un collegamento simbolico:

$ sudo chgrp -h www-data sym_file

Il gruppo è stato impostato non solo sulla directory, ma anche su tutti i file al suo interno. Si noti che il comportamento è cambiato, ora quando si elabora un collegamento simbolico gli attributi vengono impostati per il collegamento stesso, non per l'oggetto.

Per capire la differenza tra i parametri -H e -L, vediamo un altro paio di esempi. Ricordiamo che devono essere usati insieme a -R:

$ sudo chgrp -RH www-data folder

Utilizzando -H il comportamento nell'elaborazione dei collegamenti simbolici è cambiato: ora vengono gestiti come se le funzioni fossero eseguite separatamente. Gli attributi dei riferimenti non cambiano, mentre cambiano gli attributi degli oggetti stessi e l'elaborazione ricorsiva si interrompe quando si passa a una directory.

$ sudo chgrp -RL www-data folder

Esegue una sola funzione: cambia il gruppo di file e directory.

Quando si elaborano i collegamenti simbolici, bisogna fare molta attenzione a non danneggiare il sistema.