web-dev-qa-db-fra.com

Pourquoi puis-je supprimer un fichier 755 alors que je n'en suis pas le propriétaire?

J'ai ce fichier:

$ ls -l  store.sh 
-rwxr-xr-x   1 root Apache    117 Feb  5  2016 store.sh

$ id
uid=48(Apache) gid=48(Apache) groups=48(Apache)

Je pense que je n'ai pas la permission d'éditer ce fichier mais qu'il était possible de supprimer et de remplacer le fichier. Comment cela peut-il être? Quelqu'un peut-il expliquer ce comportement?

23
user3050386

Vous n'avez pas besoin d'autorisations d'écriture sur un fichier pour le supprimer ou le renommer. Vous devez disposer d'autorisations d'écriture sur le répertoire contenant le fichier, car la suppression ou le changement de nom ne sont pas des opérations sur le fichier, mais des opérations sur la liste de fichiers du répertoire. Donc, dans ce cas, le répertoire de ce fichier a probablement un accès en écriture pour l'utilisateur Apache ou le groupe Apache.

51
Olorin

Supprimer un fichier ne modifie pas le fichier en question, mais modifie le répertoire parent car il supprime le fichier de la liste des répertoires. Cela signifie également que vous disposez des autorisations complètes sur le répertoire parent du fichier.

0
mediterranean