Niveau :      
Résumé : chmod +s file

Vous connaissez sûrement le bit suid pour les fichiers exécutables. Il permet de faire en sorte de lancer un programme en tant que l'utilisateur qui possède le fichier et non en tant que celui qui lance le fichier. Ceci fonctionne de la même façon pour le propriétaire et pour le groupe.

Or les répertoires disposent aussi d'un bit exécutable. Il sert à autoriser quelqu'un à rentrer dans le répertoire (avec la commande cd). Hé bien le bit suid sert aussi. Il permet de faire en sorte que tout fichier créé dans ce répertoire n'appartienne pas à celui qui crée le fichier, mais à celui qui possède le répertoire parent.

Exemple en image :

$ mkdir repertoire
$ stat repertoire
> Access: (0755/drwxr-xr-x)  Uid: ( 1000/peck)   Gid: ( 1000/peck)
$ chgrp group repertoire
$ chmod g+s test
$ stat repertoire
> Access: (2755/drwxr-sr-x)  Uid: ( 1000/peck)   Gid: ( 1001/group)
$ touch repertoire/fichier
$ stat repertoire/fichier
> Access: (0644/-rw-r--r--)  Uid: ( 1000/peck)   Gid: ( 1001/group)

Ceci est très pratique pour permettre à plusieurs personnes de travailler dans la même arborescence. Par exemple vous créez un groupe dans lequel vous mettez les utilisateurs concernés, puis vous mettez le bit sgid (bit de groupe) sur le répertoire de travail. Ainsi tous les fichiers créés sous ce répertoire appartiendront au même groupe et pourront dont être lu et/ou modifié (pensez à regarder votre umask) par tout le groupe. Notez que si c'est un sous répertoire qui est créé, il obtiendra lui aussi le bit suid.

Bien sûr, cela ne vaut pas les ACL.