UNIX : Modification des permissions

Droits d'accès aux fichiers

La gestion des fichiers sous UNIX permet un contrôle puissant des droits d'accès.

Lorsqu'un utilisateur crée un nouveau fichier, il en est le propriétaire, et il est le seul avec le super utilisateur root à pouvoir modifier les droits régissant ce fichier. Les propriétés d'un fichier sont affichéeS avec la commande ls. Elles se situent au début de la ligne représentant le fichier dans une suite de symboles pouvant ressembler à cela (j'ai marqué la partie qui nous intéresse en vert):


dr-xr-xr-x 1 root root 1 Feb 9 23:22 xfn

Lecture des droits d'accès

  • Le premier caractère correspond au type de fichier :
    • "-" pour un fichier normal.
    • "b" pour un fichier spécial de type bloc.
    • "c" pour un fichier spécial de type caractère (pas d'utilisation des buffers système, l'échange se fait octet par octet).
    • "d" pour un répertoire.
    • "l" pour un lien symbolique.
    • "p" pour un dispositif de communication (pipe).
    • "s" pour un pilote de périphérique (socket).
  • Les caractères suivant sont répartis en trois groupes de trois caractères
    • Les caractères 2 à 4 représentent les droits du propriétaire du fichier.
      • Caractère n°2 = "r" pour lecture (read). Il permet donc l'ouverture du fichier avec un éditeur de texte afin d'en consulter le contenu, et dans le cas d'un répertoire il permet d'en lister le contenu.
      • Caractère n°3 = "w" pour écriture (write). L'accès en écriture permet la modification et la suppression du fichier. Si un répertoire est accessible en écriture, les droits des fichiers contenus sont outrepassés par les droits du répertoire. Il est donc possible de supprimer des fichiers qui ne sont pas accessibles en modification dans le répertoire auquel vous attribuez un droit en écriture.
      • Caractère n°4 = "x" pour exécution (execute). Ce droit permet d'utiliser un fichier exécutable, ou d'ouvrir un répertoire. Ce droit est bien entendu sans effet lorsqu'il s'agit d'un fichier non exécutable.
      • NB:
        • Si un des droits est activé, il est représenté par la lettre correspondante, et s'il n'est pas activé, il est représenté par le caractère "-".
        • Si le SUID bit d'un fichier exécutable est activé, l'exécution se fait avec les droits du compte du possesseur du fichier (ce qui représente un danger potentiel de sécurité). Pour représenter l'activation du SUID, un "s" remplace le "x" du propriétaire.
        • Si le SGID bit est activé, les droits utilisés sont ceux de l'utilisateur normal mais en tant que membre du groupe du fichier.
    • Les caractères 5 à 7 représentent les droits du groupe du fichier (utilisateurs).
    • Les caractères 8 à 10 représentent les droits des autres sur ce fichier.

Reprennons notre exemple dr-xr-xr-x: le propriétaire, le groupe, et les autres peuvent lire et exécuter le répertoire, mais pas le modifier.

Modification des droits : chmod

A condition d'être le propriétaire d'un fichier, ou d'être connecté root, il est possible de modifier les droits d'accès à ce fichier.
Nous devons pour cela utiliser la commande "chmod".

Syntaxe:

chmod [a, u, g, o] [+, -] [r, w, x] <fichier(s)>

[a, u, g, o]

  • a = Les droits en question s'appliquent à tout le monde (all).
  • u = Les droits s'appliquent au propriétaire (user, pourquoi pas o comme owner?).
  • g = Les droits s'appliquent au groupe (group).
  • o = Les droits s'appliquent aux autres (others, voilà pourquoi le propriétaire est représenté par u).

[+ et - ]

  • Signifient que l'on ajoute ou que l'on retire un droit.

[r, w, x]

  • rwx pour read, write et execute (lecture, écriture, exécution).
  • x peut être remplacé par le caractère s dans le cas de SUID et SGID bit.

Exemple:

NB: les chaînes de caractères en rouge sont les commandes introduites par l'utilisateur.


hello. /usr/bin =>chmod u+rwx,g+r-wx,o+r-wx infobrol
hello. /usr/bin =>ls -l infobrol
-rwxr--r-- 1 root root 1024 Feb 9 23:22 infobrol
hello. /usr/bin => chmod a+X infobrol
hello. /usr/bin =>ls -l infobrol
-rwxr-xr-x 1 root root 1024 Feb 9 23:22 infobrol
hello. /usr/bin =>

chmod forme octale

Les valeurs sont les suivantes  :

  • 1 : droit d'exécution ;
  • 2 : droit d'écriture ;
  • 4 : droit de lecture.

Pourquoi ?

Prenons les droits du propriétaire du fichier (sous Unix, tout est fichier) du premier exemple : r-x

Utilisons un groupe de trois bits pour coder les valeurs. Pour chaque droit (lecture, écriture, exécution), nous utilisons la valeur 1 pour signifier que le droit est accordé, et la valeur 0 s'il n'a pas ce droit. r-x devient donc 101, ce qui nous fait 4 + 0 + 1, donc 5.

Droit d'accès-----x-w--wxr--r-xrw-rwx
Valeur binaire000001010011100101110111
Valeur décimale01234567

 

Exemple:


hello. /usr/bin =>chmod 750 infobrol
hello. /usr/bin =>ls -l infobrol
-rwxr-x--- 1 root root 1024 Feb 9 23:22 infobrol
hello. /usr/bin => chmod 555 infobrol
hello. /usr/bin =>ls -l infobrol
-r-xr-xr-x 1 root root 1024 Feb 9 23:22 infobrol
hello. /usr/bin =>

Pour comprendre les valeurs binaires, vous pouvez consulter la partie relative aux valeurs décimales, binaires, octales et hexadécimales.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

14 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-108
Document créé le 19/03/02 02:17, dernière modification le Vendredi 17 Juin 2011, 11:12
Source du document imprimé : http://www.gaudry.be/unix-permissions.html Document affiché 4 fois ce mois de Février.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15831 documents
451 astuces.
549 niouzes.
3099 definitions.
447 membres.
8114 messages.

Document genere en :
0,40 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
L'homme honorable commence par appliquer ce qu'il veut enseigner ; ensuite il enseigne.

Confucius
 
l'infobrol
Nous sommes le Jeudi 09 Février 2012, 23:22, toutes les heures sont au format GMT+1.00 Heure, heure d'hiver