Skip to content

Peut-on supprimer un fichier sur lequel on n'a pas le droit d'écriture ?

Réponse courte

Oui, c'est possible. Supprimer un fichier (unlink) modifie le répertoire parent : Linux vérifie donc le droit d'écriture (et de traversée) sur le répertoire, pas sur le fichier. Un fichier en lecture seule dans un répertoire où vous pouvez écrire peut être supprimé. Sur les répertoires partagés comme /tmp, le sticky bit change la règle : seuls le propriétaire du fichier, celui du répertoire ou un processus privilégié peuvent supprimer ou renommer une entrée.

Beaucoup de candidats répondent « non » d'instinct : si je ne peux pas écrire dans un fichier, je ne peux pas le supprimer. Sous Linux c'est faux, et la raison éclaire le fonctionnement des systèmes de fichiers.

Un nom de fichier est une entrée de répertoire

Supprimer un fichier, c'est l'appel système unlink(2), qui retire un nom d'un répertoire. La permission décisive est donc celle du répertoire. La page de manuel cite comme cause d'échec : l'accès en écriture au répertoire contenant le chemin n'est pas autorisé pour le processus. Les bits du fichier lui-même (y compris lecture seule) ne conditionnent pas la suppression.

Le sticky bit restreint cela sur les répertoires partagés

Des répertoires comme /tmp sont inscriptibles par tous ; sans garde-fou, chacun pourrait supprimer les fichiers des autres. Le sticky bit (S_ISVTX) y remédie : selon inode(7), un fichier d'un tel répertoire ne peut être renommé ou supprimé que par son propriétaire, par le propriétaire du répertoire ou par un processus privilégié. On le reconnaît au t final dans ls -ld /tmp (drwxrwxrwt).

Pourquoi c'est important en sécurité

  • Un répertoire inscriptible contenant un script ou une configuration appartenant à root permet à un utilisateur peu privilégié de le remplacer (supprimer puis recréer), même sans pouvoir l'éditer. On le rencontre dans les revues d'élévation de privilèges.
  • Les guides de durcissement signalent donc les répertoires inscriptibles par tous sans sticky bit.

Pourquoi les distracteurs séduisent

« Droit d'écriture sur le fichier » est le modèle intuitif mais faux. « Seul root » ignore que chacun supprime ses propres fichiers. « La propriété seule » confond la règle du sticky bit avec la règle générale.

Ce que veulent les recruteurs

« La suppression est une opération sur le répertoire, donc le droit d'écriture du répertoire décide, et le sticky bit la restreint sur les répertoires partagés. » Un exemple d'élévation de privilèges est un plus.

Questions de suivi probables

  • Que fait le sticky bit sur /tmp et comment le repérer avec ls -l ?
  • Quel impact pour un attaquant pouvant écrire dans un répertoire contenant un script appartenant à root ?
  • Quelle permission de répertoire faut-il pour lister les noms et laquelle pour ouvrir les fichiers ?

Sources

Certifications

Recevez 100 questions d'entretien en cybersécurité + réponses

Laissez votre e-mail et nous vous enverrons le pack PDF gratuit et le jeu de flashcards.

Pas de spam. Désabonnez-vous à tout moment.