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éthode : Méthode 1 : en utilisant l'écriture octale
Attribuer des droits de lecture et écriture au propriétaire seul sur le fichier de nom fichier1 :
cedric@desktop:~/NSI$ chmod 600 fichier1
cedric@desktop:~/NSI$ ls -l
total 12
drwxrwxr-x 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux
-rw------- 1 cedric cedric 106 févr. 17 16:23 fichier1
-rw-r--r-- 1 cedric cedric 538 févr. 17 16:24 fichier2
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 :
cedric@desktop:~/NSI$ chmod -R 700 /home/cedric/NSI/
cedric@desktop:~/NSI$ ls -l
total 12
drwx------ 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux
-rwx------ 1 cedric cedric 106 févr. 17 16:23 fichier1
-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éthode : Mé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 :
chmod g+w unfichier
Enlever le droit de lecture aux autres sur unfichier :
chmod o-r unfichier
Ajouter les droits de lecture et d'exécution au propriétaire sur unfichier :
chmod u+rx unfichier
Ajouter le droit d'écriture au groupe et l'enlever aux autres sur unfichier:
chmod g+w,o-w unfichier
Enlever le droit de lecture au groupe et aux autres sur unfichier :
chmod go-r unfichier
Ajouter le droit d'exécution à tout le monde sur unfichier:
chmod +x unfichier
Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres sur unfichier:
chmod u=rwx,g=r,o=- unfichier