Académique Documents
Professionnel Documents
Culture Documents
org/permissions
Ubuntu-fr
Communauté francophone d'utilisateurs d'Ubuntu
Recherche : Chercher dans :
Les systèmes d'exploitation inspirés d'Unix (dont Linux fait partie) possèdent la capacité de définir de
façon poussée la gestion de droits d'accès aux divers fichiers de votre OS.
Les droits d'accès paramétrés sur les fichiers et répertoires ne sont pas immuables : ils peuvent être
changés, afin d'accommoder des nouveaux besoins apparaissant au fil du temps d'utilisation de votre
système Ubuntu. Le présent article explique les différentes manipulations pouvant être appliquées sur
des fichiers et répertoires afin d'en changer les propriétaires et les permissions.
Référez-vous au document explicatif « Droits d'accès sous Linux : gérer les accès aux fichiers ».
Le présent document expose les diverses manipulations pouvant être effectuées sur des fichiers et
répertoires afin d'en modifier les divers droits d'accès. Il tient compte de votre connaissance des
catégories de propriétaires d'un fichier (utilisateur propriétaire, groupe propriétaire et "les autres") et
des trois types de permissions (lecture, écriture et exécution) ; toutes ces informations sont
regroupées dans le document d'explications « Droits d'accès sous Linux : gérer les accès aux fichiers ».
La description de ces attributs ne sera pas abordée ci-après ; aussi, prenez le temps de lire le
document d'explications avant de poursuivre la lecture du présent article.
Attention, cette fonctionnalité subit le Bug #371025 et ce depuis 2006 (si si), elle touche sur la
modification récursive de fichiers d'un répertoire (dont vous éditez les permissions) . Si vous vous y
connaissez !
Juillet 2012: Ce bug existe toujours avec Nautilus pour "Ubuntu 12.04 - Precise Pangolin". Ca fait trop
longtemps que cela dure. Merci de nous aider à insister pour sa résolution. Manifestez votre
mécontentement et votre soutien auprès de l'équipe des développeurs de Nautilus!
Pour le Propriétaire et le Groupe, vous pouvez choisir dans le menu déroulant correspondant de
donner les droits en lecture et écriture ou lecture seule.
Pour les Autres, vous pouvez choisir entre lecture et écriture, lecture seule et aucun.
Vous pouvez choisir le groupe auquel appartient le fichier (par défaut, le groupe du propriétaire, sauf
cas particulier).
Lorsqu'il s'agit d'un répertoire, pour le Propriétaire et Groupe vous pouvez choisir entre Création et
suppression des fichiers, Accès aux fichiers, et Lister seulement les fichiers.
Pour les Autres, vous pouvez choisir entre Création et suppression des fichiers, Accès aux
fichiers, Lister seulement les fichiers et Aucun
La section suivante (en ligne de commande) détaille un peu plus les différentes possibilités de
permissions.
Les droits des fichiers d'un répertoire peuvent être affichés par la commande
ls -l
drwxr-xr-x
- : fichier
d : répertoire
l : lien
Suivent ensuite 3 groupes de 3 symboles chacun, indiquant si le fichier (ou répertoire) est autorisé en
lecture, écriture ou exécution. Les 3 groupes correspondent, dans cet ordre, aux droits du propriétaire,
du groupe puis du reste des utilisateurs. Dans le paragraphe introductif, vous aurez remarqué des
lettres en gras dans les termes anglais. Ce sont ces lettres qui sont utilisées pour symboliser lesdites
permissions. Si la permission n'est pas accordée, la lettre en question est remplacé par « - ». Si l'on
reprend les lettres données pour lecture/écriture/exécution (read/write/execute), nous obtenons :
rwx
et pour propriétaire/groupe/autres (user/group/other), nous obtenons : ugo
drwxr-xr-x
d : c'est un répertoire.
rwx pour le 1er groupe de 3 symboles : son propriétaire peut lire, écrire et exécuter.
r-x pour le 2nd groupe de 3 symboles : le groupe peut uniquement lire et exécuter le fichier,
sans pouvoir le modifier.
r-x pour le 3ème groupe de 3 symboles : le reste du monde peut uniquement lire et exécuter le
fichier, sans pouvoir le modifier.
ls -l
On retrouve dans la première colonne le groupe de 10 caractères permettant de connaître les droits
pour chaque fichier.
-rw-r--r--
Les informations ci-dessous sont très importantes pour la compréhension et la maitrise des
permissions. Cependant, si vous voulez calculer rapidement la valeur d'une permission des outils le
font pour nous. Ex : CHMOD calculator
Dans Nautilus, il vous suffit de changer les valeurs des menus déroulants dans l'onglet permissions (cf.
ci-dessus).
chown
chown permet aussi de changer en une seule commande le propriétaire et le groupe du fichier :
chgrp
La commande chgrp (pour change group) permet de changer le groupe auquel appartient le fichier.
Tous les membres de ce groupe seront concernés par les permissions du groupe de la 2ème série de
rwx. Encore une fois, seuls le super-utilisateur ou le propriétaire actuel d'un fichier peut utiliser chgrp
(un membre du groupe ne peut pas changer le groupe propriétaire). La commande s'utilise de la façon
suivante :
Le fichier fichier2 appartient maintenant au groupe mesPotes. Tous les membres du groupe
mesPotes auront accès à ce fichier selon les permissions du groupe. Quand l'utilisateur actuel n'est pas
le propriétaire actuel du fichier, il sera nécessaire de faire précéder la commande par sudo, puisqu'elle
devra être effectuée avec les droits d'administration.
Quand l'utilisateur actuel n'est pas le propriétaire actuel du fichier, il sera nécessaire de faire précéder
la commande par sudo, puisqu'elle devra être effectuée avec les droits d'administration.
Imaginons le même fichier foo.txt possédé par utilisateur1 et appartenant au groupe propriétaire
groupe1. Le propriétaire doit devenir utilisateur2 et la propriété de groupe de ce fichier doit passer au
groupe groupe2. En étant connecté au compte utilisateur1, l'exécution de cette commande effectuera
l'opération demandée :
chmod
L'outil chmod (change mode, changer les permissions) permet de modifier les permissions sur un
fichier. Il peut s'employer de deux façons : soit en précisant les permissions de manière octale, à l'aide
1)
de chiffres ; soit en ajoutant ou en retirant des permissions à une ou plusieurs catégories
d'utilisateurs à l'aide des symboles r w et x, que nous avons présenté plus haut. Nous préférerons
présenter cette seconde façon ("ajout ou retrait de permissions à l'aide des symboles"), car elle est
probablement plus intuitive pour les néophytes. Sachez seulement que les deux méthodes sont
équivalentes, c'est-à-dire qu'elles affectent toutes deux les permissions de la même manière.
Par exemple :
chmod a+x
etc.
En octal
En octal, chaque « groupement » de droits (pour user, group et other) sera représenté par un chiffre
et à chaque droit correspond une valeur :
r=4
w=2
x=1
-=0
Par exemple,
drwxr-x---
Récursivement
Pour chacune de ces commandes, on peut les lancer récursivement sur un répertoire. C'est à dire que
l'action sera effectuée sur le répertoire désigné et sur tous les fichiers ou répertoires qu'il contient.
Attention! Un chmod -R mal employé peut rendre votre système définitivement inutilisable. Voir
chmod -R /
Par exemple :
donnera tous les droits au propriétaire, les droits de lecture et exécution au groupe et aucuns droits
aux autres…
En effet, si les répertoires doivent obligatoirement avoir la permission x pour pouvoir être ouverts, la
permission x est inutile pour les fichiers non exécutables et peut être gênante pour les fichiers textes
(txt, html…) car dans ce cas lorsqu'on les ouvre on aura à chaque fois un message demandant si on
veut les ouvrir ou les lancer (comme exécutable). Bref le droit x est à réserver aux seuls fichiers qui
sont vraiment des exécutables.
Application 1 :
Soit un répertoire monrep, contenant des sous-répertoires et des fichiers. Les droits sont drwx——
(700) pour les répertoires et -rw——- (600) pour les fichiers.
On veut ajouter récursivement les mêmes droits (resp. rwx et rw) pour le groupe. C'est à dire que
veut aboutir à la situation suivante : drwxrwx— (770) pour les répertoires et -rw-rw—- (660) pour les
fichiers.
Si on lance chmod -R 770 monrep : les fichiers vont avoir les droits d'exécution → mauvais
Si on lance chmod -R 660 monrep : les répertoires n'auront plus les droits d'exécution →
catastrophique
Si on lance chmod -R g+rwx monrep : les fichiers vont avoir les droits d'exécution → mauvais
Si on lance chmod -R g+rwX monrep : seuls les répertoires (et les fichiers déjà exécutables) auront
les droits d'exécution → bon
Application 2 :
Imaginons que précédemment on ait lancé la commande chmod -R 770 monrep. La situation est la
suivante : les droits sont drwxrwx— (770) pour les répertoires et -rwxrwx—- (770) pour les fichiers.
On désire supprimer les droits d'exécution uniquement sur les fichiers. C'est à dire que veut aboutir à
la situation suivante : drwxrwx— (770) pour les répertoires et -rw-rw—- (660) pour les fichiers.
Comme chmod s'applique à la fois aux fichiers et répertoires, nous allons jongler avec x et X. Il faut
enlever x puis ajouter X.
Si on lance chmod -R u-x+X,g-x+X monrep cela n'aura aucun effet car X concerne à la fois les
répertoires ET les fichiers qui ont un x quelque part. Donc si u-x enlève le premier x (ce qui donne
-rw-rwx—), la suite +X va aussitôt remettre un x car il reste un x (celui du groupe !).
Donc il faut d'abord enlever tous les x : u-x,g-x avant de les remettre (sera fait uniquement pour les
Il est à noter que seuls le propriétaire du fichier ainsi que le super-utilisateur ont la possibilité de
modifier les permissions sur un fichier. (Un membre du groupe propriétaire ne peut pas changer les
permissions sur un fichier.) Quand l'utilisateur actuel n'est pas le propriétaire actuel du fichier, il sera
nécessaire de faire précéder la commande par sudo, puisqu'elle devra être effectuée avec les droits
d'administration.
Notez aussi que pour modifier les propriétaires et les permissions sur un fichier qui lui appartient, un
utilisateur doit absolument disposer de la permission d'écriture sur ce fichier. S'il ne dispose
uniquement que de la permission de lecture, il ne pourra effectuer aucun changement de droits d'accès
sur ce fichier.
Pour travailler récursivement sur tous les fichiers d'un répertoire et de ses sous-répertoires :
chmod -R repertoire
Liens
Les permissions UNIX
Droit et permission d'accès aux fichiers
Gestion des droits avec CHMOD (fr)
Outils de calcul des permissions : chmod calculator
Gestion des groupes (fr)
Gestion des propriétaires avec CHOWN (fr)
Gestion de l'UMASK sous Linux (fr)
Contact