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.
En 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 :
1 | chown albert:users fichier |
Et chgrp qui permet de modifier uniquement le groupe :
1 | chgrp users fichier |
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