mon blog de geek...

Modifier le propriétaire, le groupe et les permissions d’un fichier ou d’un dossier

Comme vous le savez sans doute, tout fichier ou dossier (un dossier n’est finalement qu’un fichier un peu spécial) appartient à un propriétaire et à un groupe d’utilisateurs. Avec les droits d’accès c’est ce qui détermine les diverses actions possibles par un utilisateur sur le fichier. Par défaut un fichier appartient à l’utilisateur qui le crée.

Voir le propriétaire et les droits d’un fichier

Sur votre navigateur, il suffit de faire un clic droit puis propriétés. Le nom du propriétaire et du groupe sont affichés avec au dessous les droits accordés à chacun : aucun, lecture ou lecture et écriture pour un fichier, lister les fichiers, accès à ceux ci, création et modification de ceux ci dans le cas d’un dossier.

Les droit accordés aux autres utilisateurs sont de mêmes affichés et éventuellement modifiables si vous en avez le droit.

Droits et permissions des fichiers sur LinuxEn ligne de commande, avec la commande ls -l, les droits apparaissent dans la première colonne, le propriétaire dans la troisième et le groupe dans la quatrième.

Pour les droits, le premier caractère est soit un tiret (un fichier ordinaire), un d (dossier) ou un l (lien).

Puis suivent trois groupes de trois caractères indiquent successivement si le fichier est accessible en lecture, écriture ou exécution. Chaque groupe correspond aux droits pour le propriétaire, les membres du groupe ou les autres utilisateurs. Les lettres utilisées sont r, w et x (respectivement read, write et execute)

Modifier le propriétaire  et / ou le groupe

Il existe deux commandes pour effectuer cette modification : chown et chgrp :

chown (Change owner) qui permet de modifier à la fois le propriétaire et le groupe, par exemple pour attribuer fichier à albert et au groupe users :

Et chgrp qui permet de modifier uniquement le groupe :

Bien sur, pour changer utilisateur et groupe… il faut en avoir le droit !

Changer les droits

On utilise la commande chmod (change mode) qui peut s’utiliser avec un nombre ou en ajoutant ou supprimant un droit particulier. on fera donc : chmod type d’utilisateur type de modification type de droit :

Exemples :

  • chmod g-r fichier enlèvera (-) le droit de lecture (r)  aux membres du groupe (g) du fichier
  • chmod o+w fichier ajouter le droit d’écriture aux autres membres

Cela peut se combiner :

chmod u+rwx, g+rw-x o+r-wx fichier donne tous les droit au propriétaire, tous sauf le droit d’exécution aux membres du groupe et uniquement le droit lecture aux autres utilisateurs.

Personnellement je préfère cette façon de faire, plus parlante à mon sens que la forme numérique. Pour celle ci on utilise trois chiffres successifs correspondant à chaque type d’utilisateur. Chacun des chiffres (de 0 à 7) se combine en ajoutant chaque droit :

1 pour l’exécution, 2 pour la lecture et 4 pour l’écriture. Par exemple si je veux combiner écriture et lecture j’ajoute 4 et 2 et j’obtiens 6. Et donc, dans le cas précédent j’aurai : rwx : 7, rw : 6 et r : 4 ma commande sera donc chmod 764 fichier.

Précision : un dossier doit obligatoirement être exécutable pour être lu.

Affecter récursivement le contenu d’un dossier

Dans le cas d’un dossier il est possible d’ajouter l’option -R pour agir récursivement sur les fichiers ou dossiers qu’il contient.

 

 

 

0 Commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *