Droits d’accès aux fichiers et permissions

.Ce sont les droits d’accès aux fichiers. Nous avions comment obtenir les droits « administrateur » en installant l’utilitaire sudo dans cette article, puis en ajoutant l’utilisateur au groupe sudo.

Ce qui nous donne les droits de manière temporaire, afin de modifier des fichiers de configuration comme le nom de la machine, car sous Gnu/Linux tout est fichier, et chaque fichiers possèdent des caractéristiques, contenu dans l’i-nodes comme les droits .

Alors quelles sont ces droits. Listons le contenu du répertoire de l’utilisateur ordinatous avec ls -l.

  • ls -l permet d’obtenir des informations détaillées sur le contenu d’un répertoire, ou un fichier.

gestionnaire31Comme vous le voyez les informations sont présentée comme ceci, intéressons nous aux 4 premières colonnes contenant les 10 caractères suivants:

Type Droits du propriètaire Droits du groupe Droits des autres
– d ou l rwx rwx rwx

Prenons le cas du fichier exercices.

gestionnaire32

  • La première colonne sert à distinguer le type:
  • – pour un fichier et d pour directory, et l pour un lien

Puis les lettres sont regroupé par groupes de 3, c’est lettres indiquent les droits .

  • Premier groupe: les droits du propriétaire ordinatous.
    • r pour les droits en lecture
    • w pour les droits en écriture
    • x pour les droits en exécution
      • Je n’ai pas rendu ce fichier exécutable
  • Deuxième groupe: les droits du groupe ordinatous.
    • r pour les droits en lecture des utilisateurs du groupe ordinatous
    • w pour les droits en écriture des utilisateurs du groupe ordinatous
    • x pour les droits en exécution des utilisateurs du groupe ordinatous
  • Troisième groupe: les droits des autres utilisateurs.
    • r pour les droits en lecture des autres utilisateurs (o pour other)
    • w pour les droits en écriture des autres utilisateurs
    • x pour les droits en exécution des autres utilisateurs

A chaque droits correspond une valeur, et nous pouvons exprimer l’ensemble des droits attribué en octal, puisque nous avons 8 valeurs différentes:

  • 0 (—) aucun droit
  • 1 (–x) droit en execution (ou passer à travers un dossier)
  • 2 (-w-) droit en écriture
  • 3 (-wx) droit en lecture et en exécution = c’est la somme des droits
  • 4 (r–) droit en lecture
  • 5 (r-x) droit en lecture et en exécution (la somme)
  • 6 (rw-) droit en lecture et écriture (la somme)
  • 7 (rwx) tout les droits (la somme)

La notion de droits n’est pas excessivement compliquée, la notation probablement moins évidente. Voici un convertisseur en ligne sur le site: onlineconversion.com

Pour mieux comprendre les droits, admettons que dans le cadre d’une utilisation familiale les parents ne souhaiteraient pas forcément que les enfants puissent lire l’ensemble des fichiers… Ah bon rien à cacher

Êtes vous certains de ne pas avoir une vie intime, quelques photos de soirées ou vous auriez fait un streap-tease, voir un séjour dans un camp de naturistes….

Nous voyons que les autres utilisateurs de la machine crunchy peuvent lire le fichier, je suis connecté avec l’utilisateur toto et je vais utiliser l’utilitaire more, il existe d’autres utilitaires pour lire un fichier.

gestionnaire33On voit que toto à essayer de pourrir mon fichier….sacré toto, et on voit que le système à refusé d’enregistrer les modifications, cela vient du fait que toto n’est pas membre du groupe ordinatous.

gestionnaire34Et en mode graphique les actions supprimer et mettre à la corbeille sont désactivés, couper également, ainsi que renommer.

gestionnaire35Si par exemple je ne souhaitais pas que les autres utilisateurs de la machine puissent lire le fichier, il existe une commande très simple chmod.

Attention seul le propriétaire peut modifier les droits sur ses fichiers

  • en tant qu’utilisateur ordinatous et propriétaire du fichier je modifie les droits de autres.
  • chmod 660 exercices
  • chmod applique les droits en lecture/écriture pour le propriétaire, puis pour le groupe auquel appartient le propriétaire, puis donne aucun droits aux autres utilisateurs.
  • modifier x pour un fichier est différent du x appliquer aux répertoires, x sur un répertoire permet de le traverser, donc attention.

gestionnaire36Voyons ce qu’il se passe quand toto tente de lire le fichier; le système lui dit : Permission non accordé, toutefois toto peut visualiser le contenu des répertoires, ce que je ne souhaite pas forcément. Ça ne le regarde pas .

gestionnaire38

Modifier les droits pour chaque fichiers crée peut devenir fastidieux, et j’aimerais autant que personne ne puisse venir voir ce qu’il y a dans mes répertoires, ni visionner mes documents.

Pour cela je vais changer les droits sur mon répertoire personnel, attention avec cette commande car une erreur pourrait bien vous compliquer la vie.

Si modifier les droits en octal semble très pratique et facile, il est aussi un peu brut, ça manque de finesse, si nous l’appliquons de manières récursive avec l’options -R.

  • chmod -R g+rwx /home/ordinatous rendrait les tous les fichiers exécutable pour les membres ordinatous: ce n’est pas une bonne idée non plus
  • chmod -R 660/home/ordinatous les répertoires perdraient les droits en exécution, on ne pourrait plus les traverser: c’est la zone
  • chmod -R 770 /home/ordinatous rendrait exécutable tous les fichiers: ce n’est pas une bonne idée
  • chmod -R g+rwX /home/ordinatous ici X permet de marcher à travers les répertoires, et conserve les droits en x aux fichiers qui sont déjà exécutable. C’est pas mal mais ça ne résout pas mon problème avec les gamins fouineurs.
  • chmod -R u-x,g-x,u+X,g+X /home/ordinatous cette fois nous enlevons les droits en exécutions sur tous les fichiers du propriétaire ainsi qu’à son groupe, puis nous rendons les droits en exécutions sur les répertoires ainsi que les fichiers qui étaient déjà exécutables ainsi qu’à son groupe.

Mais, mais ….ça n’a pas échappé aux enfants:

Ils peuvent toujours se déplacer dans mon répertoire .

Voilà tata.

gestionnaire45Et voilà toto, qui fait son malin, il a basculé en mode console…

gestionnaire44J’ai donc oublié un argument. Nous allons y remédier, en entrant la même commande mais cette fois en précisant les droits pour les autres : other.

  • chmod -R u-x,g-x,u+X,g+X,o-x

Et voici le résultat pour tata: permission non accordée (bah oui poulette)

gestionnaire42Et pour toto (0+0=la tête à toto)

gestionnaire41LEs enfants ne peuvent plus venir fouiner dans mon répertoire personnel.

 

 

 

 

 

 

Comments

So empty here ... leave a comment!

Laisser un commentaire

Sidebar