d1rk
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
Hallo zusammen... Ich habe ein Verzeichnis im Home-Verzeichnis, in welchem ich relativ wichtige Daten ablege. Nun, da sich mein Verzeichnis langsam füllt, stelle ich mir die Frage nach der Sicherheit. Ein Backup sichert immernur einen gewissen Seitpunkt. Da ich gerne ein wenig mehr (psychologische) Sicehrheit hätte, würde ich deises Verzeichnis gerne "unlöschbar" machen. Lesen und schreiben soll nach wie vor möglich sein, Auch das löschen von Dateien und Verzeihcnissen innerhalb dieses Verzeichnisses soll noch gehen, nur eben nicht von außerhalb dieses Verzeichnisses. Das Verzeichnis selbst soll auch nicht gelöscht werden können. Folgendes Beispiel $ rm -r verzeichnis
rm: kann Verzeichnis „verzeichnis“ nicht löschen: Permission denied
$ rm verzeichnis/datei
rm: kann Datei „datei“ nicht löschen: Permission denied
$ rm -r verzeichnis/unterverzeichnis/
rm: kann Verzeichnis „verzeichnis/unterverzeichnis“ nicht löschen: Permission denied Wohl aber
$ cd verzeichnis
$ rm verzeichnis/datei
$ rm -r unterverzeichnis/ Zugegeben, sehr spezielle Wünsche, aber hat irgendeiner eine Idee wie ich das bewerkstelligen kann?
Eine "unlöschbarkeit" des Verzeichnissees würde mir auch schon reichen. Oder eine einfache Nicht-Berücksichtigung bei rm. Grüße, Dirk
|
otzenpunk
Anmeldungsdatum: 17. Oktober 2005
Beiträge: 8691
Wohnort: Hamburg-Altona
|
So direkt gibt es keine Möglichkeit, die mir einfällt. Wenn du das übergeordnete Verzeichnis beschreiben kannst, kannst du da drin auch Verzeichnisse löschen. Du könntest natürlich das Verzeichnis mit chown dem Root-Benutzer übereignen und dann das Sticky-Bit (chmod +t) auf dein Homeverzeichnis setzen. Dann kannst du das Verzeichnis selber nicht mehr löschen, wohl aber den Inhalt. rm -r verzeichnis würde also alles daraus löschen und ein leeres Verzeichnis zurücklassen. Die einzige Lösung, die mir einfällt, ist in der .bashrc den rm-Befehl umzudefinieren. Am einfachsten wäre so etwas:
alias rm='rm -i' Dann fragt rm vor jedem Löschvorgang nach.
Oder du definierst eine Shell-Funktion namens rm, die die Argumente parst und das wichtige Verzeichnis überspringt. Diese beiden Ansätze beziehen sich dann aber nur auf den rm-Befehl im Terminal - andere Löscharten (Nautilus, mc, Gnome-Dateidialog, etc.) werden dadurch nicht eingeschränkt.
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
otzenpunk hat geschrieben: Du könntest natürlich das Verzeichnis mit chown dem Root-Benutzer übereignen und dann das Sticky-Bit (chmod +t) auf dein Homeverzeichnis setzen. Dann kannst du das Verzeichnis selber nicht mehr löschen, wohl aber den Inhalt. rm -r verzeichnis würde also alles daraus löschen und ein leeres Verzeichnis zurücklassen.
Ich denke, das ist vertretbar 😉 Welche Auswirkungen hat chmod +t auf mein Homeverzeichnis?
|
otzenpunk
Anmeldungsdatum: 17. Oktober 2005
Beiträge: 8691
Wohnort: Hamburg-Altona
|
Dirk Sohler hat geschrieben: Ich denke, das ist vertretbar 😉
Muss ich das verstehen, warum es sinnvoll ist, das Verzeichnis selber aber nicht den Inhalt vor dem Löschen zu schützen? Dirk Sohler hat geschrieben: Welche Auswirkungen hat chmod +t auf mein Homeverzeichnis?
Das "Sticky-Bit" - erkennbar am 't' in den Berechtigungen, z.B. bei /tmp - bewirkt, dass Dateien in diesem Verzeichnis nur von ihrem Besitzer gelöscht werden dürfen, und nicht von allen, die Schriebrechte im Verzeichnis haben.
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
otzenpunk hat geschrieben: Muss ich das verstehen, warum es sinnvoll ist, das Verzeichnis selber aber nicht den Inhalt vor dem Löschen zu schützen?
Hm... Eigentlich hats keinen Sinn. das ist wohl wi emit Bestätigungen bei erfolgreichem beenden eines Shellprogramms. Die einen wollens nicht, die anderen fühlen sich dann besser... 😉 Aber eigentlich haste recht *g* Ich brauche wohl einfach irgendwas,das mich davon abhält, rm und mv durcheinanderzubringen. Und gegen ein "rm dateiname zielverzeichnis/" hilf auch nicht, dass "zielverzeichnis/" unlöschbar ist *g* Ich glaube, ich muss mir für das, was ich da machen will, mal ein Script schreiben... .oO( Woah, mit Datum... Aber manuell? Ach was, per Cronjob! Und Erkennung von Dateitypen mit Statistik und Logfile. Und Benachrichtigung per e-Mail. )
|
lupus68
Anmeldungsdatum: 12. Juli 2006
Beiträge: 291
|
Nu habe dich nicht soo Macht halt nen Kleines Backup zwischendurch. Cron cp -b /home/user/verzeichniss /root/verzeichniss wenn du ganz sicher sein willst das du nicht ausversehen auch diesen Verzeichnis in der Konsole bearbeitest cp -b /home/user/verzeichniss /root/foo/bar/bla/blubb/0815/verzeichniss Als Root stehen die auch noch andere Verzeichnisse zur Auswahl wie wäre es mit /Backup Wenn du besonders gut bist hebst du vorher den Schreibschutz den /verzeichniss auf um ihn nach dem kopieren wieder zuzufügen. Sollte nun wirklich kein Problem sein oder bist du geizig mit dem Festplattenplatz? 😉 juergen
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
lupus68 hat geschrieben: [...] bist du geizig mit dem Festplattenplatz? 😉
Ja, extrem 😉 Muss mich wohl noch erst dran gewöhnen, dass ich nun keine 80-GB-Platte mehr habe, sondern 200 GB 😉
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Ich habe nicht im Kopf, wo es sich überall auswirkt, das Verzeichnis zu verstecken, aber vielleicht interessiert Dich das auch.
mv verzeichnis .verzeichnis
|
otzenpunk
Anmeldungsdatum: 17. Oktober 2005
Beiträge: 8691
Wohnort: Hamburg-Altona
|
Das bewirkt, dass der Shellglob '*' nicht darauf passt.
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
otzenpunk hat geschrieben: Das bewirkt, dass der Shellglob '*' nicht darauf passt.
Deswegen geht "ls .verzeichnis/", aber "mv .verzeichnis/* sonstwo" nicht...
|
otzenpunk
Anmeldungsdatum: 17. Oktober 2005
Beiträge: 8691
Wohnort: Hamburg-Altona
|
Dirk Sohler hat geschrieben: otzenpunk hat geschrieben: Das bewirkt, dass der Shellglob '*' nicht darauf passt.
Deswegen geht "ls .verzeichnis/", aber "mv .verzeichnis/* sonstwo" nicht...
Doch, das müsste gehen. Da ist das Verzeichnis ja explizit benannt. Aber rm * löscht nichts, was mit einem Punkt anfängt.
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
otzenpunk hat geschrieben: Dirk Sohler hat geschrieben: otzenpunk hat geschrieben: Das bewirkt, dass der Shellglob '*' nicht darauf passt.
Deswegen geht "ls .verzeichnis/", aber "mv .verzeichnis/* sonstwo" nicht...
Doch, das müsste gehen. Da ist das Verzeichnis ja explizit benannt. Aber rm * löscht nichts, was mit einem Punkt anfängt.
Eigentlich... Ist aber irgendwie nicht so... Naja, seis drum 😉
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
rm * sollte eigentlich nie Verzeichnisse löschen.
|
otzenpunk
Anmeldungsdatum: 17. Oktober 2005
Beiträge: 8691
Wohnort: Hamburg-Altona
|
user unknown hat geschrieben: rm * sollte eigentlich nie Verzeichnisse löschen.
Nitpicker! 😉 Wenn du es genau betrachtest, hab ich in dem betreffenden Satz aber auch nichts von Verzeichnissen geschrieben.
|
d1rk
(Themenstarter)
Anmeldungsdatum: 5. April 2006
Beiträge: 2420
|
user unknown hat geschrieben: rm * sollte eigentlich nie Verzeichnisse löschen.
Imho haben Wildcards in Lösch-Aufrufen nichts zu suchen, und schon gar nicht im home-Verzeichnis.
|