Linux et les permissions

Une des particularité de Linux par rapport aux autres systèmes d’exploitations et la gestion des droits et permissions. Ceux-ci sont très complets mais également à portée même d’un débutant Linuxien.

Afin d’administrer un système linux pour empêcher ou autoriser le partage en écriture, lecture ou exécution d’un fichier, il faut pouvoir donner des droits et des permissions sur les fichiers.

Connaître les droits sur un fichier

Sur Linux, pour connaître quels sont les droits et les permissions sur un fichier ou sur un dossier, il suffit de le demander ls -l mon_répertoire, le résultat ressemblera à ça :

zigomato@zigoserveur:/etc/php5$ ls -l
total 16
drwxr-xr-x 3 propriétaire groupe 4096 janv. 24 14:24 apache2

Petites explications sur ce qui est apparu, tout d’abord, le nom du fichier ou dossier apparaît au fond :

drwxr-xr-x

[table id=5 /]
Le premier trinôme de lettre s’applique pour le propriétaire, on le notera par u ».
Le second trinôme pour les groupes, on le notera par « g ».
Le dernier trinôme pour tous les autres, on le notera par « o ».
On utilisera « a » pour parler de la totalité des personnes

Propriétaire et groupe

Le nom du propriétaire et le nom du groupe apparaît ensuite

Modifier les droits et les permissions

La modification des droits s’effectue de deux manières, libre à vous de préférer l’une ou l’autre. On utilisera la commande chmod

Avec des lettres

  • On écrira la commande comme cela :chmod [« a » ou « u » ou « g » ou « o »][« – » ou « + »][« r » ou « w » ou « x »][dossier ou fichier] .
    Le premier attribut correspond à qui on veut modifier les droits. « a » pour tout le monde, « u » pour l’utilisateur ou propriétaire, « g » pour les groupes et « o » pour les autres.
  • Le second attribut indique si on enlève ou retire un droit.
  • Le dernier attribut indique le droit qui sera modifié, « r » pour la lecture, « w » pour l’écriture et « x » pour l’exécution.

Par exemple:

  • chmod o+x fichier.sh  permettra d’ajouter aux autres le droit d’exécution pour tous les autres sur fichier.sh.
  • chmod go-rwx fichier.sh  permet d’enlever tous les droits aux groupes et aux autres sans toucher aux droits de l’utilisateur.

A la manière octale

C’est une méthode qui peut paraître plus compliqué mais qui est plus rapide quand on s’y est fait, le prncipe est de mettre un chiffre qui correspond au droit de chacun. Le premier chiffre correspond à « u », le second au « g » et le dernier au « o ».
[table id=6 /]
On écrira donc la commande comme suit : chmod 000 fichier  retire tous les droits, le fameux chmod 777 fichier  donne tous les droit à tout le monde.

Modifier le propriétaire

Pour modifier le propriétaire on utilise la commande chown : chown nouvel_utilisateur fichier .
On utilisera l’option -R pour modifier un répertoire.

Modifier le groupe

Pour modifier le groupe on utilise la commande chgrp : chgrp nouveau_groupe fichier .
On utilisera l’option -R pour modifier un répertoire.

Modifier simultanément le groupe et l’utilisateur

Pour modifier les deux critères précédent, on écrira comme cela : chown nouveau_utilisateur.nouveau_groupe fichier .

Voilà comment modifier les droits, l’utilisateur et le groupe d’un fichier et/ou d’un dossier.

Pour des détails sur les droits, n’hésitez pas à visitez ce lien.

Laisser un commentaire