Modes de paiement Abuse

Commande CHGRP LINUX

14.12.2021, 10:30

Souvent, lorsqu'ils utilisent Linux, les utilisateurs ne se posent pas la question de savoir à qui appartient un fichier. Cependant, lorsqu'il s'agit de faire fonctionner un serveur, la situation change. Pour renforcer la sécurité, le serveur dispose de son propre utilisateur. Il n'est pas rare que les serveurs utilisent le même groupe, comme www-data. Voyons maintenant comment cette fonction fonctionne avec les fichiers et les répertoires. Nous accorderons une attention particulière aux liens symboliques, car ils peuvent causer des problèmes lors de l'utilisation de paramètres non sécurisés.

Ce que cela signifie

La norme relative aux autorisations de fichiers a été introduite dans Linux par Unix. Chaque objet a donc un utilisateur, un groupe et décrit les droits desautres utilisateurs(other). Les permissions se composent de trois éléments : lecture, écriture, exécution. La commande umask est utilisée pour modifier les permissions, mais les commandes chown sont utilisées pour modifier directement le propriétaire et le groupe. La commande ls peut être utilisée pour afficher les permissions actuelles.

Syntaxe et options

Vue générale de la commande chgrp:

$ chgrp [options] new_group file_name

Liste des options courantes de la commande chgrp:

  1. -h - travailler directement avec les liens symboliques eux-mêmes ;
  2. --dereference - travaille avec les fichiers, et non avec les liens symboliques eux-mêmes. Utilisée par défaut ;
  3. -R - traitement récursif d'un répertoire avec tout son contenu ;
  4. -H - suit le lien symbolique et modifie les attributs du fichier/répertoire. Utilisé conjointement avec le paramètre -R;
  5. -L - suit le lien symbolique et poursuit le traitement récursif. Utilisé avec le paramètre -R;
  6. -P - lors de la rencontre d'un lien symbolique, ne traiter que celui-ci. Utilisé avec le paramètre -R, c'est la valeur par défaut ;
  7. --reference=nom_du_fichier - utilise le groupe d'échantillons ;
  8. -c - la sortie ne change que lors du traitement ;
  9. -v - affiche des informations sur chaque objet traité.

Utilisation de la commande

L'exemple le plus simple d'utilisation de la commande chgrp. L'exemple suivant modifie l'ensemble de l'objet www-data pour le fichier dans le dossier actuel :

$ sudo chgrp www-data file.txt

Et celui-ci change le groupe en www-data pour le dossier:

 $ sudo chgrp www-data folder

La commande fonctionne de manière très prévisible, en changeant le groupe. Les objets du dossier restent inchangés. Si des liens symboliques sont traités, leurs attributs restent inchangés, mais l'objet reçoit un nouveau groupe. Ce comportement est similaire à la gestion du paramètre --dereference.

Par exemple, ces commandes appliquées aux liens symboliques fonctionneront comme indiqué dans la capture d'écran :

$ sudo chgrp www-data sym_file.txt

Voyons comment fonctionne le paramètre -h qui modifie les attributs d'un lien symbolique :

$ sudo chgrp -h www-data sym_file

Le groupe a été défini non seulement pour le répertoire, mais aussi pour tous les fichiers qu'il contient. Notez que le comportement a changé : désormais, lors du traitement d'un lien symbolique, les attributs sont définis pour le lien lui-même, et non pour l'objet.

Pour comprendre la différence entre les paramètres -H et -L, examinons quelques exemples supplémentaires. Rappelons qu'ils doivent être utilisés avec -R :

$ sudo chgrp -RH www-data folder

En utilisant -H, le comportement lors du traitement des liens symboliques a changé, ils sont maintenant traités comme si les fonctions étaient exécutées séparément. Les attributs des références ne changent pas, mais les attributs des objets eux-mêmes changent, et le traitement récursif s'arrête lorsque vous passez à un répertoire.

$ sudo chgrp -RL www-data folder

Le traitement récursif s'arrête lorsque vous passez à un répertoire. Il ne remplit qu'une seule fonction : il modifie le groupe de fichiers et de répertoires.

Lorsque vous traitez des liens symboliques, vous devez être extrêmement prudent pour ne pas endommager le système.