C'est un comportement étrange des permissions linux, mais les permissions de supprimer des fichiers sont accordées par les permissions sur le répertoire, pas sur le fichier.
Essayez ça :
mkdir test
touch test/file
# Make the Directory ro
chmod a-w test
ls -l test/file
-rw-rw-r-- 1 bodhi bodhi 0 2012-02-28 21:13 test/file
rm test/file
rm: cannot remove `test/file': Permission denied
Ecrire la permission. Sur un fichier ordinaire, cela signifie que vous pouvez modifier le fichier, c'est-à-dire écrire de nouvelles données dans le fichier. Dans le cas d'un répertoire, l'autorisation d'écriture signifie que vous pouvez ajouter, supprimer et renommer des fichiers dans le répertoire. Cela signifie que si un fichier possède le bit de permission d'écriture, vous êtes autorisé à modifier le contenu du fichier, mais vous n'êtes autorisé à renommer ou à supprimer le fichier que si les autorisations du répertoire du fichier vous le permettent. .
Siehe http://www.tuxfiles.org/linuxhelp/filepermissions.html
Pour autoriser l'accès (RW) au fichier, mais empêcher la suppression ou le renommage, définissez le bit collant sur le répertoire.
# change "test" to your directory
chmod +t test
touch test/file
chmod a+w test/file
ls -l | grep test
drwxrwxrwt 4 bodhi bodhi 4096 2012-03-07 17:08 test
ls -l test | grep file
-rw-rw-rw- 1 bodhi bodhi 13 2012-03-07 17:10 file
# su to another user, "test"
test@ufbt:/home/bodhi$ echo 'It works !!!' >> test/file
test@ufbt:/home/bodhi$ cat test/file
It works !!!
test@ufbt:/home/bodhi$ rm test/file
rm: cannot remove `test/file': Operation not permitted
http://www.techcuriosity.com/resources/linux/advanced_file_permissions_in_linux.php
Si le bit collant est activé pour un répertoire, seul le propriétaire de ce répertoire ou le propriétaire d'un fichier peut supprimer ou renommer un fichier dans ce répertoire.