PERMISSIONS D'ACCES AUX FICHIERS

Les catégories d'utilisateurs

Les permissions constituent un système de définition des droits d'accès ou d'exécution, pour les fichiers disponibles sur le système. Tout fichier appartient à la fois à un utilisateur (son propriétaire) et à un groupe.

Un utilisateur appartient au moins à un groupe. Ce groupe porte le même nom que celui de l'utilisateur. Il peut aussi appartenir à plusieurs groupes. Un groupe contient un ou plusieurs utilisateurs.

Ainsi pour chaque fichier, le monde de ses utilisateurs potentiels est scindé en plusieurs catégories.

Visualiser les droits

Linux permet de spécifier les droits d’action sur un fichier, que peuvent exercer les utilisateurs des trois catégories précédentes.

Les trois protections possibles sont :

De façon générale, ces permissions sont consultables par la commande : ls –l. Cette commande affiche plusieurs colonnes.

moi@ordinateur:~$ ls -l
total 436
drwxr-xr-x 14 moi moi 4096 déc.   5 20:43 Divers
drwxr-xr-x  8 moi moi 4096 nov.  30 09:09 Site
-rw-rw-r--  1 moi moi 7790 août  17 11:33 page.html
-rw-rw-r--  1 moi moi  350 août  17 11:42 codes.txt
...

Dans la première colonne, on trouve de gauche à droite :

Nature
du fichier
Propriétaire
u
Groupe
g
Les autres
o
Exécutable
ou non
-
d
l

r w x

r w x

r w x

x
-

Le premier caractère indique la nature du fichier :

Le système de droits est spécifié par les neuf caractères suivants, correspondant aux trois catégories du fichier.

Le dernier caractère indique si le fichier est exécutable :

Changer les droits

Changer le propriétaire ou le groupe

De façon générale, l’utilisateur qui crée un fichier en devient le propriétaire, et le groupe auquel l’utilisateur appartient devient le groupe du fichier.

On pourra modifier les droits par les commandes suivantes :

chownChangement de propriétaire
chgrpChangement de groupe

Changer les droits d'accès

Les droits d'accès se définissent avec la commande chmod.

Exemple de commande permettant à tous de traverser le dossier /home/utilisateur/ :

chmod a+x /home/utilisateur/

Les droits d'accès peuvent être spécifiés de deux façons, avec des lettres ou avec des nombres. La commande ci-dessous permet un accès libre à tous au dossier /home/utilisateur/ de manière récursive, c'est à dire que tout ce que contient ce dossier est également en accès libre.

chmod -R 777 /home/utilisateur/

Correspondances de représentation des droits :

DroitValeur littéraleValeur numérique
Aucun droit---0
Exécution seulement--x1
Ecriture seulement-w-2
Ecriture et exécution-wx3
Lecture seulementr--4
Lecture et exécutionr-x5
Lecture et écriturerw-6
Tous les droitsrwx7

Rendre un fichier exécutable

Exemple de commande :

chmod u+x script.sh