Décrit les différents types d’attributs de lecture,écriture et exécution ainsi que les commandes permettant de gérer ces droits et de modifier les propriétaires de fichiers.
Que l’on soit simple utilisateur ou développeur, il peut être utile de savoir comment changer le propriétaire d’un répertoire ou d’un fichier ou d’avoir à définir les différents droits d’accès à certains utilisateurs. Ce sera le cas, si vous installez SPIP sur votre machine. Vous devrez par exemple, modifier les droits du répertoire IMG qui contient les images téléchargées, pour que votre site puisse fonctionner.
a) Types de droits
Le système Linux vous permet de définir un certain nombre de droits d’utilisations sur les fichiers et répertoires du système. Ces types étant symbolisés par une lettre.
Ces droits sont les suivants :
Type de droit | symbole | Fichiers | Répertoire |
---|---|---|---|
Lecture | r | Permet de lire le fichier | Permet de lire la liste des fichiers et sous-répertoire qu’il contient |
Ecriture | w | Permet la modification du fichier | Permet de créer un nouveau fichier ou ous-répertoire |
Exécution | x | Permet l’utilisation de fichiers exécutables (programmes, scripts...) | Autorise l’utilisateur à se positionner sur ce répertoire (devenir le répertoire courant) |
b) Types d’utilisateurs
Linux définissant 3 types d’utilisateurs pour chaque fichier et répertoire, vous pourrez définir des droits spécifiques pour chacun d’eux. Ces types sont également symbolisés par une lettre.
Les types d’utilisateurs sont les suivants :
Type d’utilisateur | symbole | Description |
---|---|---|
Propriétaire | u(ser) | Propriétaire du répertoire ou fichier (par défaut, celui qui l’a créé) |
Groupe | g(roup) | Groupe auquel appartient le propriétaire |
autres | o(ther) | Les autres utilisateurs |
c) Représentation du type de fichiers
On va voir que lorsque le système affiche les différents droit d’un fichier ou répertoire (commande ls -l), ce dernier commence par afficher le type de fichier ou répertoire également symbolisé par une lettre.
type | symbole | Observation |
---|---|---|
Fichiers standards | - | |
répertoire | d | |
lien symbolique | l | simples liens sur des fichiers existant |
Fichiers types caractères | c | fichiers spéciaux ou systèmes |
Fichiers mode bloc | b | Fichiers représentant des périphériques |
tubes nommés (pipe) | p | rarement utilisés |
sockets | s | connexions réseau |
Les principaux types que vous rencontrerez sont les répertoires, fichiers et liens symboliques, les autres étant des fichiers spéciaux intéresseront surtout les programmeurs systèmes.
d) Représentation des droits
Les droits d’un fichier seront donc représentés par une suite de lettres. Ces lettres sont affichés dans l’ordre suivant :
type fichier | droit propriétaire | droit groupe | droit autre utilisateurs | ||||||
---|---|---|---|---|---|---|---|---|---|
- | r | w | x | r | w | x | r | w | x |
Si à l’emplacement du droit se trouve le caractère « - » cela indique que le droit n’est pas autorisé pour ce type d’utilisateur.
Exemple :
drwxr-xr--
indique qu’il s’agit d’un répertoire (d) dont :
Pour afficher les différents droits d’un fichier, vous utiliserez la commande ls avec l’option -l.
Exemple :
ls -l
drwxr-xr-x 2 christophe christophe 4096 2009-07-18 18:51 Public
drwxr-xr-x 3 christophe christophe 4096 2009-07-19 19:21 Radios
drwxr-xr-x 4 christophe christophe 4096 2009-09-15 22:01 resources
drwxr-xr-x 3 christophe christophe 4096 2009-12-15 20:53 sauvegardes
-rw-r--r-- 1 christophe christophe 1855 2009-07-18 18:52 screen-configurations.xml
drwxr-xr-x 2 christophe christophe 4096 2010-01-08 17:25 Téléchargement
Pour modifier les droits d’un fichiers vous utiliserez la commande chmod.
Cette commande peut être utilisée selon 2 syntaxes : soit à l’aide de lettres, soit à l’aide de chiffres.
a) Première syntaxe : utilisation de lettres
chmod <type_utilisateur><signe><permission> <nom_fichier>
avec :
Exemple avec le fichier suivant :
-rw-r--r-- 1 christophe christophe 28 2010-01-09 09:46 test.txt
Si je veux donner les droits d’écriture à l’ensemble de mon groupe d’utilisateurs je tape :
chmod g+w test.txt
se qui donne :
-rw-rw-r-- 1 christophe christophe 28 2010-01-09 09:46 test.txt
b) Seconde syntaxe : utilisation d’une codification numérique :
chmod <valeur numérique à 3 chiffres> <nom fichier>
La valeur numérique est basée sur un nombre octal dont la codification est la suivante :
Pour indiquer les droits d’un fichier, vous devrez donc additionner les chiffres correspondants.
Exemple : si vous désirez donner des droits de lecture et d’exécution sur un fichier, vous devrez donc spécifier : 5 ( 1 + 4 = 5) pour le type donné. En réalisant cette opération pour les 3 types d’utilisateurs vous obtenez un nombre de 3 chiffres que vous passez en paramètres à la commande chmod.
Voici un tableau récapitulatif donnant les valeurs possibles en fonction des droits :
valeur binaire | valeur octale | Droits | ||
r | w | x | valeur | |
0 | 0 | 0 | 0 | Aucun |
0 | 0 | 1 | 1 | exécution |
0 | 1 | 0 | 2 | écriture |
0 | 1 | 1 | 3 | écriture + exécution |
1 | 0 | 0 | 4 | lecture |
1 | 0 | 1 | 5 | lecture + exécution |
1 | 1 | 0 | 6 | lecture + écriture |
1 | 1 | 1 | 7 | lecture + écriture + exécution |
Si nous reprenons l’exemple de notre fichier test.txt et si nous désirons donner tous les droits au propriétaire et au groupe mais lecture seule pour les autres utilisateurs, il suffit de taper la commande suivante :
chmod 774 test.txt
Nous pouvons vérifier avec la commande ls -l :
-rwxrwxr-- 1 christophe christophe 28 2010-01-09 09:46 test.txt
Un autre moyen d’agir sur les droits d’accès d’un fichier ou répertoire est d’en changer le propriétaire ou le groupe. Pour cela, il suffit d’utiliser l’une des 2 commandes chown ou chgrp.
a) La commande chown
La syntaxe est la suivante :
chown [option] nom_propriétaire[:nom_groupe] nom_fichier
On voit que cette commande nous permet de changer le groupe en même temps que le propriétaire sans avoir à utiliser la commande chgrp.
b) La commande chgrp
La syntaxe est la suivante :
chgrp [option] nom_groupe nom_fichier
Il y a d’autres types de permissions qui ne sont pas abordées car moins indispensables pour un simple utilisateur, ce sont les bits spéciaux ainsi que d’autres méthodes qui permettent une gestion des droits d’accès fondée sur des listes d’autorisations, les ACL. Il existe également une commande qui permet de définir et afficher les attributs par défaut des fichiers lors de leurs création. Il s’agit de la commande umask. Là encore, vous ne devriez pas avoir besoins de cette commande en tant que simple utilisateur.
Crée par: chris
Créé le: 7 mars 2010
Modifié le: 31 août 2019
Nombre de visites: 126
Popularité: 10 %
Popularité absolue: 1
2003-2024 LePpf
Plan du site
| Se connecter |
RSS 2.0 |
Sur YouTube
Visiteurs connectés : 1
Nombre moyen de visites quotidiennes sur le site: 185