Aller au contenu

Changer les droits

Seuls le super-utilisateur du système (généralement root) et le propriétaire d'un fichier peuvent changer ses permissions d'accès.
Pour cela, on peut utiliser la commande chmod (abréviation de «change mode »).

Méthode n°1 : en utilisant l'écriture octale

Reprenons l'exemple de la page précédente :

1
2
3
4
5
nicolas@Ubuntu:~$ ls -l NSI/
total 12
drwxrwxr-x 2 nicolas nicolas 4096 févr. 17 16:21 Activites_Linux
-rw-r--r-- 1 nicolas professeurs  106 févr. 17 16:23 fichier1
-rw-r--r-- 1 nicolas professeurs  538 févr. 17 16:24 fichier2
  • Attribuer des droits de tous les droits au propriétaire, de lecture, écriture au groupe et rien aux autres sur le fichier de nom fichier1 :
 6
 7
 8
 9
10
11
12
nicolas@Ubuntu:~$ chmod 760 fichier1

nicolas@Ubuntu:~$ ls -l NSI/
total 12
drwxrwxr-x 2 nicolas nicolas 4096 févr. 17 16:21 Activites_Linux
-rwxrw---- 1 nicolas professeurs  106 févr. 17 16:23 fichier1
-rw-r--r-- 1 nicolas professeurs  538 févr. 17 16:24 fichier2

760 correspond à 400+200+100 + 40+20 (soit à rwxrw----).

  • Attribuer Les droits de lecture et d'écriture au propriétaire et à son groupe, seulement les droits de lecture aux autres sur le dossier /home/nicolas/NSI et tout ce qu'il contient :
13
14
15
16
17
18
19
nicolas@Ubuntu:~$ chmod -R 664 /home/nicolas/NSI

nicolas@Ubuntu:~$ ls -l 
total 12
drw-rw-r-- 2 nicolas nicolas 4096 févr. 17 16:21 Activites_Linux
-rw-rw-r-- 1 nicolas professeurs  106 févr. 17 16:23 fichier1
-rw-rw-r-- 1 nicolas professeurs  538 févr. 17 16:24 fichier2

664 correspond à 400+200 + 40+20 + 4 (soit à rw-rw-r--).

L'option -R (récursif) permet d'attribuer les droits choisis non seulement au dossier, mais aussi à tout son contenu.

A noter

La récursivité s'écrit avec -R (lettre majuscule) pour éviter la confusion avec le r minuscule de read...

Méthode n°2 : en distinguant les catégories

Il existe un autre moyen de modifier les droits d'un fichier avec la commande chmod.
Pour distinguer les catégories, il faut savoir que :

  • u signifie : user (propriétaire) ;
  • g signifie : group (groupe) ;
  • o signifie : other (autres) ;

... et que :

  • + signifie : « Ajouter le droit » ;
  • - signifie : « Supprimer le droit » ;
  • = signifie : « Affecter le droit ».

Exemples

  1. Ajouter le droit de lecture aux autres sur unfichier :

    chmod o+r unfichier
    

  2. Enlever le droit d'écriture au groupe sur unfichier :

    chmod g-w unfichier
    

  3. Ajouter les droits de lecture et d'exécution au propriétaire sur unfichier :

    chmod u+rx unfichier
    

  4. Ajouter le droit de lecture aux autres et enlever le droit d'écriture au groupe sur unfichier :

    chmod o+r, g-w unfichier
    

  5. Enlever le droit de lecture au groupe et aux autres sur unfichier :

    chmod go-r unfichier
    

  6. Ajouter le droit de lecture à tout le monde sur unfichier :

    chmod +r unfichier
    

  7. Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres sur unfichier :

    chmod u=rwx, g=r, o=- unfichier