Vous êtes sur la page 1sur 3

Droits tendus

Les droits tendus appels aussi droits particuliers sont : SUID, SGID et sticky bit

I. SUID (ou setuid)


1. Dfinition
Nous avons vu que chaque catgorie dutilisateurs dispose de droits diffrencis sur les
fichiers. Et seul le propritaire d'un fichier a le pouvoir de cder des droits d'autres
utilisateurs.
Lorsqu'un utilisateur lance un programme, ce programme s'approprie les droits de
l'utilisateur pour la manipulation des fichiers et non pas ceux du propritaire du fichier.
Mais il est quelque fois ncessaire de permettre d'autres utilisateurs l'accs des donnes
normalement protges. Ce droit SUID permet de prter un utilisateur de faon temporaire,
des droits supplmentaires par l'intermdiaire d'un programme (fichier excutable).
En excutant un programme possdant un droit SUID, un utilisateur sapproprie les droits du
propritaire du fichier excutable durant le temps d'excution du programme. Ces droits
supplmentaires ne sont valables que sur les fichiers appels par le programme et les
oprations effectues par le programme et que durant le temps d'excution du programme.
Son utilit vient du fait qu'il n'est pas besoin d'accorder durablement des droits tendus
n'importe qui sur des fichiers sensibles. Puisque l'accs ces fichiers est filtr par un
programme qui est seul prendre des initiatives sur ces fichiers.
Donc, un programme lanc avec ce droit suid sera excut avec les droits du propritaire
du programme et non les droits de l'utilisateur qui l'a lanc.

2. Exemple
L'exemple le plus flagrant est celui du programme /usr/bin/passwd (rws--x--x) qui appartient
l'utilisateur root. Ce programme possde le droit s en lieu et place du droit en excution du
triplet du propritaire. Ce programme sert modifier votre mot de passe personnel qui est
stock dans le fichier /etc/passwd (rw-r--r--) appartenant root dont vous n'avez pas les
droits en criture.
Comment donc modifier votre mot de passe si vous n'tes pas autoris crire sur le fichier
stockant les mots passes ?!! Pour des raisons de scurit videntes, le root interdit
quiconque de pouvoir modifier ou supprimer ce fichier. Par contre le
programme /usr/bin/passwd vous y autorise grce au droit SUID : vous utilisez le droit en
criture du root durant l'excution du programme qui change votre mot de passe.

3. Manipulation
Pour ajouter un droit SUID un programme, utiliser la commande chmod de la mme manire que
vous procderiez pour un droit normal.
1/3

Notation symbolique

Syntaxe : chmod u+s fichier-excutable


Exemple : chmod u+s data/hotprog
Notation numrique

La valeur numrique d'un SIUD est 4000 et s'ajoute la valeur de la srie numrique globale.
Syntaxe : chmod 4+droits fichier-excutable
Exemple : chmod 4755 monprog
Dans cet exemple, on donne les droits rwsr-xr-x au fichier monprog. Ne pas oublier que le
droit SUID s'affiche la place du droit en excution du propritaire sans que ce dernier soit
supprim!
NB :

La prsence du droit SUID suppose la prsence du droit en excution qui permet de lancer le
fichier excutable.

S'il n'y avait pas de droit d'excution x avant d'appliquer ces droits, les lettres s et t
seront mises en majuscule (S et T).

II. SGID
1. Dfinition
Le droit SGID fonctionne diffremment selon qu'il est affect un fichier excutable ou un
rpertoire.

Excutable

Sur un fichier excutable, le SGID est similaire au droit SUID vu prcdemment sauf qu'il donne
un utilisateur les droits du groupe auquel appartient le propritaire de l'excutable et non plus les
droits du propritaire.

Rpertoire

Tout fichier cr porte les droits du masque de protection de son propritaire. De plus, tout fichier
porte un UID (identificateur de propritaire) et un GID (identificateur de groupe). C'est--dire qu'un
fichier est toujours identifi par le nom de son propritaire ainsi que par le nom du groupe auquel
appartient le propritaire.
Le droit SGID, lorsqu'il est affect un rpertoire, casse cette logique. Puisque tout nouveau fichier
cr dans un rpertoire marqu par le SGID sera de groupe non pas celui du propritaire du fichier
mais celui du propritaire du rpertoire.
Ainsi, tout fichier cr dans un rpertoire portant le SGID, hritera du groupe du propritaire du
rpertoire.

2/3

Donc :

Un programme lanc avec ce droit sgid sera excut avec les droits du groupe du
programme et non les droits du groupe de l'utilisateur qui l'a lanc

Un fichier cr dans un rpertoire ayant le droit sgid aura pour groupe le groupe du
rpertoire et pas celui de l'utilisateur qui a cr le fichier.

2. Manipulation
La valeur numrique du droit SGID est 2000, il est symbolis par la lettre s et est affich la place
du droit d'excution du groupe.
Notation symbolique
Syntaxe : chmod g+s fichier-excutable|rpertoire
Exemple : chmod g+s data/
Notation numrique
Syntaxe : chmod 2+droits fichier-excutable|rpertoire
Exemple : chmod 2755 monprog
Dans cet exemple, on donne les droits rwxr-sr-x au fichier monprog. Ne pas oublier que le droit
GUID s'affiche la place du droit en excution du groupe sans que ce dernier soit supprim.

III.

Sticky Bit

Le droit Sticky Bit (appell aussi bit collant) est allou la catgorie autres d'un rpertoire.
Il permet d'interdire tout utilisateur (sauf le root) de supprimer un fichier dont il n'est pas le
propritaire, quelque soient ses droits.
Si le rpertoire en question est accessible en criture par n'importe quel utilisateur (rwxrwxrwx),
n'importe qui peut poser ce bit collant qui protge tous les fichiers d'une suppression ou
modification de la part d'un utilisateur autre que son propritaire.
Ce bit collant permet donc d'aller l'encontre du droit en criture d'un rpertoire dont hritent les
fichiers du rpertoire.
Sa valeur numrique est 1000 et est reprsent symboliquement par t.
Exemple : chmod 1755 tmp/.
Exemple : chmod a+t tmp/.
Ce droit s'affiche en lieu et place du droit en excution de la catgorie autres.

3/3