Proteggere i files con lo sticky bit

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