Was ist die Idee dahinter, dass RM nicht beschreibbare Dateien standardmäßig nicht entfernt?

Was ist die Idee dahinter, dass RM nicht beschreibbare Dateien standardmäßig nicht entfernt?

Was ist der Grund dafür, dass rm standardmäßig keine nicht beschreibbaren Dateien entfernt? Jedes Mal, wenn Sie eine Datei entfernen möchten, die für den aktuellen Benutzer nicht beschreibbar ist, Sie aber Schreibberechtigung für das Verzeichnis haben, erhalten Sie diese Warnung und müssen zur Bestätigung des Löschvorgangs „y“ drücken:

rm: remove write-protected regular file 

Ich frage mich, warum nicht beschreibbare Dateien so speziell behandelt werden. Mir fällt ein, dass es sich bei solchen Dateien normalerweise um Benutzerkonfigurationsdateien handelt, die geheime Benutzerdaten wie verschlüsselte Passwörter enthalten, sodass rm vor dem Löschen warnt. Was ist nun der wahre Grund?

Antwort1

Das liegt daran, dass das Verhalten von UNIX in diesem Fall etwas kontraintuitiv ist. Viele Leute sind ziemlich überrascht, wenn sie eine Datei als schreibgeschützt markieren und jemand sie löschen kann. Sie benötigen nur Schreibberechtigungen für das enthaltene Verzeichnis, um eine Datei zu löschen. rmfragt Sie aus Höflichkeit, falls Sie gehofft haben, dass die Datei durch die schreibgeschützte Funktion geschützt wäre.

Mit -f(Force) wird es erledigt, ohne Sie zu belästigen. Aber gehen Sie dabei vorsichtig vor.

Antwort2

Ich denke, Sie haben Recht, dass es eine Aufforderung gibt, weil es so eingestellt ist, dass nicht geschrieben werden kann. Wenn Sie die nicht beschreibbare Datei entfernen, schreiben Sie tatsächlich in diese Datei. Wenn Sie keine Aufforderung erhalten möchten, können Sie immer einen Alias ​​erstellen, der besagt, dass rm eigentlich rm -f ist.

verwandte Informationen