Nei sistemi Linux e unix-like se un utente ha i permessi per scrivere in una directory allora può rinominare o eliminare i files contenuti in essa, anche se non ne è il proprietrio. Per prevenire ciò il proprietario della directory, o l’amministratore del sistema, può impostare il cosiddetto sticky bit. In questo modo i soli utenti che possono rinominare o rimuovere i files di quella directory sono il proprietario del file, il proprietario della directory e l’utente root.
Facciamo subito un esempio. Creiamo un nuova directory e impostiamo lo sticky bit:
MacBookPro:~ mark$ mkdir share MacBookPro:~ mark$ chmod 1777 share MacBookPro:~ mark$ ls -ld share drwxrwxrwt 2 mark staff 68 9 Mag 16:26 share
Con questi permessi qualunque utente può creare dei file ma può eliminare solo quelli che gli appartengono. Così l’utente pippo non può eliminare i file dell’utente topolino, anche se ha i permessi per scrivere sulla directory:
MacBookPro:~ pippo$ ls -l total 3 -rw-r--r-- 1 pippo staff 120 Nov 19 11:32 data.pippo -rw-r--r-- 1 topolino staff 3421 Nov 19 15:34 data.topolino -rw-r--r-- 1 pluto staff 728 Nov 20 12:29 data.pluto MacBookPro:~ pippo$ rm data.topolino data.topolino: 644 mode ? y rm: data.topolino not removed. Permission denied