Accueil > Informatique > Linux > changer les droits des fichiers

changer les droits des fichiers

lundi 26 novembre 2012, par frederic

Les propriétaires

Par la propriété d’un fichier, on désigne à quel utilisateur appartient le fichier, qui le possède. À partir de cette possession (ou non), il sera ensuite possible de définir des permissions d’accès sur le fichier.

La possession d’un fichier se définit sur trois catégories :

  1. l’utilisateur propriétaire du fichier (u).La plupart du temps, il s’agit du créateur du fichier. (Prenez note qu’un fichier créé par une commande exécutée à l’aide de sudo appartiendra à l’utilisateur root ; vous serez potentiellement amené à devoir changer le propriétaire de ce fichier pour pouvoir vous en servir avec votre propre compte utilisateur.)
  2. le groupe propriétaire du fichier (g). Si un utilisateur est membre d’un certain groupe qui possède la propriété d’un fichier, l’utilisateur aura aussi certaines permissions particulières sur ce fichier.
  3. les autres ,world, le reste du monde(o). Bref, tout un chacun n’étant ni propriétaire du fichier, ni membre du groupe propriétaire du fichier.

Faisons une analogie avec les voitures. Le propriétaire serait la personne au nom de laquelle la voiture est immatriculée. Le groupe propriétaire est l’ensemble des personnes qui sont inscrites en tant que conducteurs secondaires de la voiture chez l’assureur. Enfin, les autres correspond à toutes les autres personnes n’étant ni détenteur de l’immatriculation ni inscrites en tant que conducteurs de la voiture chez l’assureur.

Les permissions

Les permissions désignent ce que les diverses catégories d’utilisateurs (propriétaire d’un fichier, membres du groupe propriétaire d’un fichier et le reste du monde) ont l’autorisation d’effectuer sur un fichier donné. Par exemple, une catégorie d’utilisateurs peut avoir accès en lecture et écriture à un fichier, alors qu’une autre catégorie a accès en lecture seulement à ce même fichier.

Les permissions se définissent sur trois niveaux :

  1. la lecture d’un fichier : cette permission est nécessaire pour pouvoir accéder au contenu d’un fichier (écouter une piste audio, visionner un film, lire un texte, naviguer à l’intérieur d’un répertoire…). Cette permission est notée r (pour read, lire).
  1. l’écriture dans un fichier : cette permission est nécessaire pour pouvoir apporter des modifications à un fichier (corriger un texte et enregistrer les changements ; ajouter, modifier ou supprimer un fichier dans un dossier ; etc.). Cette permission est notée w (pour write, écrire).
  1. l’exécution d’un fichier : cette permission est nécessaire particulièrement pour les logiciels, afin qu’ils puissent être exécutés. Cette permission est notée x (pour execute, exécuter).

Par exemple, l’utilisateur toto dispose des droits de lecture et d’exécution sur le répertoire foo, mais pas la permission d’écriture sur ce répertoire ; toto peut donc exécuter les programmes présents dans ce répertoire et ouvrir les fichiers qu’il contient, mais ne peut pas les modifier ni en créer de nouveaux.

Pour chacune des trois catégories d’utilisateurs (propriétaire, membres du groupe propriétaire et reste du monde) sont définies ces trois permissions :

  • le propriétaire dispose ou non de la permission de lecture, d’écriture et d’exécution sur un fichier ;
  • le membre du groupe propriétaire dispose ou non de la permission de lecture, d’écriture et d’exécution sur un fichier ;
  • tous les autres utilisateurs disposent ou non de la permission de lecture, d’écriture et d’exécution sur un fichier.

Les droits sont affiché pars une série de 9 caractères,associé 3 par 3 (rwx rwx rwx) définissent les droits des 3 identités (u,g et o).

Modifier les droits d’un fichier :

La commande chown permet de changer le propriétaire d’un fichier ou dossier

Modifier les droit de plusieurs fichiers :

La commande find permet de trouver un type de fichier :

find ~/ -type d -exec chmod 700 {} \;

Cette commande permet de trouver tous les répertoire et de modifier leur droit ou seul l’utilisateur du fichier à droit en lecture/écriture et exécution

find ~/ -type f -exec chmod 600 {} \;

Cette commande permet de trouver tous les fichier et de modifier leur droit ou seul l’utilisateur du fichier à droit en lecture et écriture.