
Ich habe diese Datei:
$ 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)
Ich glaube, ich habe nicht die Berechtigung, diese Datei zu bearbeiten, aber ich konnte die Datei löschen und ersetzen. Wie kann das sein? Kann jemand dieses Verhalten erklären?
Antwort1
Sie benötigen keine Schreibrechte für eine Datei, um sie zu löschen oder zu verschieben (umzubenennen). Sie benötigen Schreibrechte für das Verzeichnisenthaltenddie Datei, weilLöschen oder Umbenennen sind keine Operationen an der Datei, sondern Operationen an der Dateiliste des Verzeichnissesapache
. In diesem Fall hat der Benutzer oder die Gruppe wahrscheinlich Schreibzugriff auf das Verzeichnis dieser Datei apache
.
Antwort2
Das Löschen einer Datei ändert nicht die betreffende Datei, sondern das übergeordnete Verzeichnis, da die Datei aus der Verzeichnisliste entfernt wird. Dies bedeutet auch, dass Sie über vollständige Berechtigungen für das übergeordnete Verzeichnis der Datei verfügen.