Datei vor versehentlichem Löschen schützen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
guennid

Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 23.10.2011 18:01:23

So richtig hier herein passt das zwar nicht, aber ich frag trotzdem mal: Ich möchte eine einzelne Datei im home eines users vor versehentlichem Löschen, auch durch root, schützen. Lässt sich sowas durch Rechtevergabe lösen? Etwa so, dass root erst die Dateirechte ändern müsste, bevor er sie löschen darf.

Grüße, Günther

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Datei vor versehentlichem Löschen schützen

Beitrag von Cae » 23.10.2011 18:05:47

Backup.
root darf alles.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

guennid

Re: Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 23.10.2011 18:14:04

Das ist in dieser Absolutheit dummes Zeug!

Wenn ich in besoffenem Kopp beginne, mir das System zu zerschießen, krieg ich auch einen Hinweis, dass ich im Begriff bin, etwas Dummes zu tun, und werde aufgefordert, diese Dummheit etwa mit Yes, do what i say zu bestätigen. So was Ähnliches schwebt mir vor, ich will's root ja nicht verbieten, aber meinem besoffenen Kopp trau ich nicht. :mrgreen:

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Datei vor versehentlichem Löschen schützen

Beitrag von cosmac » 23.10.2011 18:27:27

hi,

gegen root im Rausch hilft höchstens eine Rauschsperre, sowas fehlt mir auch noch :)

Aber wenn man die Frage wörtlich nimmt, reicht (leider nur als root):

Code: Alles auswählen

chattr +i unersetzliche_datei
Beware of programmers who carry screwdrivers.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Datei vor versehentlichem Löschen schützen

Beitrag von Cae » 23.10.2011 18:35:15

Eine wirklich gute Idee wäre ein Pseudo-sudo, gekoppelt an ein Promillemessgerät. Wer baut es?

Meine Erfahrung nach solchen Aktionen ist, dass ein Backup *wirklich* gut ist. Beziehungsweise besteht das Problem nicht darin, dass man als normaler User das System zerlegen könnte, sondern dass man als root Scheiße baut.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

guennid

Re: Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 23.10.2011 18:57:37

man chattr:

Code: Alles auswählen

A file with the `i' attribute cannot be modified
Das ist dann wieder zu viel des Guten. :oops:

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Datei vor versehentlichem Löschen schützen

Beitrag von cosmac » 23.10.2011 19:22:57

ja, wie jetzt? Man soll doch vorher "chattr -i" machen müssen.

Man könnte die Datei in ein "Tresor-Verzeichnis" verschieben und das chattr auf das Verzeichnis anwenden. Dann kann man sie noch überschreiben, aber nicht mehr löschen, weil dazu der Eintrag aus dem Verzeichnis gelöscht werden müsste.

Code: Alles auswählen

mkdir tresor
mv unersetzliche_datei tresor
chattr +i tresor
aber sowas geht dann immer noch, und das ist wohl so gut wie gelöscht...

Code: Alles auswählen

echo "hallo" > unersetzliche_datei
Wenn ein Programm die Datei nur im ursprünglichen Verzeichnis sucht, hilft:

Code: Alles auswählen

cd original_verzeichnis
ln -s tresor/unersetzliche_datei
Beware of programmers who carry screwdrivers.

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: Datei vor versehentlichem Löschen schützen

Beitrag von SubOptimal » 23.10.2011 19:27:33

Hi,

was willst Du denn eigentlich erreichen? Vielleicht gibt es ja auch einen anderen Lösungsweg.

Hier wäre mal einer (erhebt aber keinen Anspruch darauf generell sinnvoll zu sein ;-) )
- mit Debianiwatch die Datei über die »inotify« Schnittstelle überwachen lassen
- wird die Datei modifiziert --> leg ein Backup an
- wird die Datei gelöscht --> stelle sie aus dem Backup wieder her

SubOptimal

guennid

Re: Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 23.10.2011 19:54:08

Der "Tresor" schmeckt mir nicht besonders, aber sonst ist es das, was ich mir vorstelle, cosmac! :THX:

Ich will kein extra-backup, ich will die Datei lediglich vor unbedachtem Löschen schützen.

@SubOptimal
Mal Klartext: Es geht um einen truecrypt-container. Den habe ich an einer Stelle mit einem Dateinamen plaziert, wo man ihn meiner Meinung nach nicht vermuten würde. Das ist mir Sicherheit genug. Ich selbst denke da aber in manchen Zusammenhängen auch nicht mehr daran, weIch kostbare Fracht ich da in diesem Verzeichnis verkasemattuckelt habe. Ist mir mal passiert, dass ich das Verzeichnis Gott sei Dank nur "verschoben", nicht gelöscht habe, so dass ich die Dinge wiederherstellen konnte. Ich weiß, truecrypt sieht für sowas eigentlich andere Mechanismen vor, aber damit will ich mich nicht auseinandersetzen. :mrgreen:

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Datei vor versehentlichem Löschen schützen

Beitrag von cosmac » 23.10.2011 23:54:06

guennid hat geschrieben:Der "Tresor" schmeckt mir nicht besonders
na gut, für deine Anwendung würde ich es nicht gerade "Tresor" nennen :)

Aber jetzt hab' ich was für dich, ein Backup nur vom Verzeichniseintrag: leg' einen zusätzlichen "hard link" in einem anderen Verzeichnis an:

Code: Alles auswählen

cd irgendein/verzeichnis
ln /home/benutzer/unersetzliche_datei neuer_name
man beachte: "ln" ohne "-s". Anschließend kann man auf die Datei aus beiden Verzeichnissen über beide Namen zugreifen. Beide sind völlig gleichwertig, wenn einer davon gelöscht wird, kann man immer noch den zweiten benutzen. Man kann auch mehr als zwei Einträge machen und erst wenn alle gelöscht sind, wird auch die eigentliche Datei gelöscht.

Eine Einschränkung gibt's: beide Verzeichnisse müssen auf der gleichen Partition liegen. Für diesen Zweck ist eine eigene Partition für /home mal ausnahmsweise nicht so toll, der Trick hilft nicht gegen "rm -rf /home". Deswegen sollte man nicht beide Einträge im gleichen Verzeichnis machen, dann ist man wenigstens gegen "rm *" geschützt.

Aber was passiert eigentlich bei "rm -rf /home" wenn das Backup-Verzeichnis immutable ist? Da die Zugriffe auf die Datei über das normale Verzeichnis erfolgen, hätte das "chattr +i" für das zweite Verzeichnis keine Einschränkungen wie beim ersten Versuch zur Folge. Irgendwie hab' ich aber gerade keine Lust, das auszuprobieren ;)

P.S. der Name darf auch in allen Verzeichnissen gleich sein, das ist Geschmackssache.
Beware of programmers who carry screwdrivers.

uname
Beiträge: 12414
Registriert: 03.06.2008 09:33:02

Re: Datei vor versehentlichem Löschen schützen

Beitrag von uname » 24.10.2011 09:43:16

Das mit dem Hardlink finde ich auch gut. Am besten du packst den Container ins /-Filesystem und dann den zusätzlichen Hardlink z.B. unterhalb von /lib. Wenn Du dort versehentlich alles löscht musst du sowieso eine Neuinstallation vornehmen. Wobei wir wieder beim Backup wären ;-)

guennid

Re: Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 01.11.2011 19:35:19

Alles sehr sinnvolle Vorschläge, besten Dank, nur leider ist das alles vergebliche Liebemüh', weil ich gerade merke, dass das bescheuerte truecrypt beim Passwort-Dialog, den "richtigen" Containernamen sinnigerweise dick und fett auf den Bildschirm schreibt! :twisted: :twisted: :twisted:

Grüße, Günther

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Datei vor versehentlichem Löschen schützen

Beitrag von ThorstenS » 02.11.2011 08:38:31

Wenn die Datei per Samba freigegeben wird, kannst du auch die Papierkorbfunktionalität nutzen und läßt dir X-Versionen im Papierkorb archivieren/aufheben. (Google Suche: samba recycle bin howto)
Im Falle einer Veränderung oder Löschung kann dir in inotify ja auch eine Mail schreiben oder per net eine Nachricht auf den Clientbildschirm schicken…

guennid

Re: Datei vor versehentlichem Löschen schützen

Beitrag von guennid » 02.11.2011 10:21:40

Ich habe keine Ahnung von samba. Soweit ich darüber am Rande etwas mitgekriegt habe, ist das doch was für ein lan mit unterschiedlichen Systemen (linux/windows)? Sowas habe ich nicht. :P

Grüße, Günther

Antworten