Wie kann verhindert werden, dass eine Datei im Benutzerordner gelöscht wird?

9

Wie kann ich verhindern, dass eine Datei vom Benutzer gelöscht werden kann, selbst wenn sie sich in seinem Home-Ordner befindet?

Desgua
quelle

Antworten:

13

Es ist möglich, das Löschen einer Datei selbst aus dem Stammverzeichnis in einem ext2 / 3/4-Dateisystem unmöglich zu machen, indem ein Dateisystemattribut der Datei geändert wird:

$ cd
$ touch dummy
$ sudo chattr +i dummy
$ rm dummy
rm: remove write-protected regular empty file `dummy'? y
rm: cannot remove `dummy': Operation not permitted
$ sudo rm dummy
[sudo] password for enzotib: 
rm: cannot remove `dummy': Operation not permitted
$

Weitere Informationen chattrund lsattrHandbuchseiten.

Wenn Sie später die Datei löschen möchten, sollten Sie sie verwenden

sudo chattr -i dummy

vor dem Gebrauch rm.

Dies hat zwei Nachteile:

  1. Sie müssen root sein, um Attribute zu ändern.
  2. Sie können die Attribute dieser Datei oder die Möglichkeit, sie zu ändern, vergessen, sodass Sie die Datei anscheinend nicht mehr löschen können.
Enzotib
quelle
Gibt es eine Möglichkeit, dies zu verwenden und andere Berechtigungen beizubehalten? Beispielsweise können Benutzer- und Gruppenberechtigungen für rwxUnterverzeichnisse und Dateien weiterhin zugelassen werden.
Roydukkey