Changer les droits

Fondamental

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éthodeMéthode 1 : en utilisant l'écriture octale

  • Attribuer des droits de lecture et écriture au propriétaire seul sur le fichier de nom fichier1 :

1
cedric@desktop:~/NSI$ chmod 600 fichier1 
2
cedric@desktop:~/NSI$ ls -l
3
total 12
4
drwxrwxr-x 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux
5
-rw------- 1 cedric cedric  106 févr. 17 16:23 fichier1
6
-rw-r--r-- 1 cedric cedric  538 févr. 17 16:24 fichier2
7

600 correspond à 400+200 (soit à rw- --- ---).

  • Attribuer tous les droits au propriétaire et aucun au groupe propriétaire et aux autres sur /home/cedric/NSI et tout ce qu'il contient :

1
cedric@desktop:~/NSI$ chmod -R 700 /home/cedric/NSI/
2
cedric@desktop:~/NSI$ ls -l
3
total 12
4
drwx------ 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux
5
-rwx------ 1 cedric cedric  106 févr. 17 16:23 fichier1
6
-rwx------ 1 cedric cedric  538 févr. 17 16:24 fichier2

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

700 correspond à 400+200+100 (soit à rwx --- ---).

On notera que la récursivité s'écrit avec -R pour éviter la confusion avec le r de read...

MéthodeMéthode 2

Il existe un autre moyen de modifier les droits d'un fichier avec la commande chmod.

Dans ce mode d'utilisation, il faut se rappeler 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 ».

  • Ajouter le droit d'écriture au groupe sur unfichier :

1
chmod g+w unfichier
  • Enlever le droit de lecture aux autres sur unfichier :

1
chmod o-r  unfichier
  • Ajouter les droits de lecture et d'exécution au propriétaire sur unfichier :

1
chmod u+rx unfichier
  • Ajouter le droit d'écriture au groupe et l'enlever aux autres sur unfichier:

1
chmod g+w,o-w unfichier
  • Enlever le droit de lecture au groupe et aux autres sur unfichier :

1
chmod go-r unfichier
  • Ajouter le droit d'exécution à tout le monde sur unfichier:

1
chmod +x unfichier
  • Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres sur unfichier:

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