Ce bit est désigné par t, apparaît à la place du champ x dans le groupe de bits concernant la classe Other, il ne s’applique qu’au fichier exécutable et au répertoire.
Signification pour un fichier exécutable :
Cet attribut indique que le segment texte d’un fichier exécutable n’est swappé out qu’une fois et qu’il est conservé dans l’espace disque swap une fois que la commande est terminée Ce mécanisme réduit donc le nombre de swap out et permet un chargement en mémoire plus rapide lors d’une exécution ultérieure d’une commande.
Signification pour un répertoire :
Pour un répertoire, cette possibilité a été introduite par la version BSD 4.3. Notons qu’elle est actuellement implantée dans la totalité des versions commerciales pour un répertoire public dont les permissions sont drwxrwxrw, Le bit t a pour effet de protéger les fichiers qu’il contient contre la suppression. Cela signifie que dans ce cas, seul le propriétaire du fichier et root peuvent supprimer un fichier situé dans un tel répertoire Cette notion a été introduite pour protéger contre la suppression des fichiers temporaires qui se trouvent dans le répertoire public comme /tmp, /usr/tmp, /usr/spool/tmp, …
[cd@drocourt ~]$ ls -ld /tmp
drwxrwxrwt 12 root root 12288 sept. 20 11:39 /tmp
On le positionne pour un binaire exécutable pour prêter les droits d’accès du propriétaire du fichier aux autres utilisateurs pendant le temps d’exécution du processus exécutant le code contenu dans le fichier.
Cette fonctionnalité est notamment utilisée pour permettre à un utilisateur de changer le mot de passage.
[cd@drocourt ~]$ ls -l /etc/passwd /usr/bin/passwd
-rw-r--r-- 1 root system 10437 Jun 11 16:14 /etc/passwd
-r-sr-x--x 1 root security 48750 Oct 26 1994
/usr/bin/passwd
le fichier /etc/passwd contient des définitions des utilisateurs, il est la propriété de l’utilisateur root et du groupe d’utilisateurs système, il n’est pas accessible en écriture à un autre utilisateur.
Le fichier /usr/bin/passwd contient le code binaire de la commande passwd, il est la propriété de l’utilisateur root et tout utilisateur est autorisé à l’exécuter.
Un utilisateur lance la commande passwd, il initialise un processus exécutant le code contenu dans usrbinpassword, le set-uid bit a été positionné sur celui-ci, les droits de ce processus sont ceux du propriétaire de ce fichier, c’est à dire ceux de root. C’est ainsi que l’utilisateur peut modifier un fichier, ici /etc/passwd, sur lequel il n’a pas de droit d’écriture.
Un i-nœud est référencé par un unique i-nombre qui est associé à un ou plusieurs fichiers. ce i-noeud: