La permission d’effacer un fichier n’est pas attribuée au fichier lui-même, mais
elle dépend uniquement du droit d’écriture dans le répertoire qui le contient. Voici
comment créer un fichier que les membres de mon groupe peuvent modifier mais
pas supprimer :
kyle> mkdir –m 750 rep1
kyle> cd rep1
kyle> echo bonjour >fich1
kyle> chmod g=rw fich1
Les membres de mon groupe ne peuvent pas supprimer fich1, mais ils peuvent effacer tout son contenu par : cp /dev/null fich1
Maintenant, voici comment créer un fichier que les membres de mon groupe peuvent supprimer mais pas modifier :
kyle> mkdir –m 770 rep2
kyle> cd rep2
kyle> echo bonjour >fich2
kyle> chmod g=r fich2
Les membres de mon groupe ne peuvent pas modifier fich2, mais ils peuvent le supprimer ! Ceci est une gaffe techniquement faisable !
De telles permissions semblent illogiques. Les permissions linux sont codées sous la forme rwx rwx rwx, ce qui conduit à 512 possibilités. Il est évident que parmi les 512 possibilités, toutes ne correspondent pas à des permissions réellement intéressantes.
Tout ceci montre que l’utilisateur de Linux doit être vigilant non seulement sur les permissions des fichiers, mais aussi sur les permissions des répertoires dans lesquels il place des fichiers accessibles aux autres utilisateurs.