Aller au contenu

Gestion des droits sous Linux

On peut gérer les droits sous linux au moins de 2 manières.

Soit en toute lettre soit en octal (0 à 7).

Partons de cet exemple:

-rw-rw-r-- 1 jo jo 0 27 juil. 11:09 test.txt

Modifications des droits en toute lettre

  • Les premiers caractères (rw) à gauche sont pour l'utilisateur
  • Le deuxième groupe (rw) c'est pour le groupe
  • Le troisième groupe c'est pour tous les autres utilisateurs
  • L'utilisateur est jo
  • Le groupe est jo

Pour donner les droits en éxecution à l'utilisateur, on peut faire:

chmod u+x test.txt

Les options courantes sont:

u+r, u+w, g+r, g+x, ...

  • u pour user

  • g pour group

  • o pour others

Modifications des droits en octal

Il est souvent plus rapide et pratique d'attribuer les droits en octal, c'est à dire les droits de 0 à 7.

  • 0 pas de droits
  • 4 read (lecture)
  • 2 right (écriture)
  • 1 execute (exécution)

  1. Le premier chiffre sera pour l'utilisateur

  2. Le deuxième chiffre sera pour le groupe

  3. Le troisième chiffre sera pour les autres utilisateurs

Exemple:

chmod 755 test.txt

Résultat:

-rwxr-xr-x 1 jo jo 0 27 juil. 11:09 test.txt
  • Ici nous avons donc notre fichier test.txt qui appartient à l'utilisateur jo et groupe jo.

  • L'utilisateur jo a tous les droits, lecture, écriture et exécution (read, right, execute).

  • Le groupe jo a les droits de lecture et écriture (read et execute).

  • Les autres utilisateurs ont les droits de lecture et écriture (read et execute).

Changer le SUID d’un fichier ou répertoire

Pour attribuer le SUID à un fichier, on utilise la commande chmod via l’attribut s. Voici la syntaxe à utiliser :

chmod u+s <fichier>

Ainsi pour donner le droit SUID sur le fichier script.sh :

chmod u+s script.sh

Une autre façon de définir l’autorisation SUID sur un fichier, il faut utiliser la commande chmod avec la représentation numérique de l’autorisation. La valeur numérique de SUID est 4.

chmod 4xxx <fichier>

Soit pour attribuer les permissions 755 ainsi que l’attribut SUID au fichier script.sh :

chmod 4755 script.sh

Enfin pour retirer l’attribut SUID, on repasse le bit à 0 comme ceci :

chmod 0755 script.sh

Copié de ce site: https://www.malekal.com/suid-sgid-sticky-bit-linux/