VDR-Verzeichnisse vor versehentlichem Löschen schützen

  • Meine VDR-Ordnerstruktur sieht ungefähr so aus:

    Code
    1. /mnt/VDR-Aufnahmen/Archiv
    2. |--Dokus
    3. |--Filme
    4. |--Musik
    5. |--Reportagen
    6. |--Serien

    Neue Aufnahmen landen unter VDR-Aufnahmen, bei Bedarf werden sie geschnitten in die Unterordner im Archiv-Ordner verschoben.

    Jetzt ist es mir schon mehrfach vorgekommen, dass ich versehentlich auf dem Archiv-Ordner oder einem Kategorie-Unterordner die gelbe Löschen-Taste betätigt habe.

    Glücklicherweise muss man ja noch bestätigen, aber irgendwann drückt man (oder frau) wohl mal aus Reflex auf OK.;)


    Was habe ich da für Möglichkeiten um das zu Verhindern?

    Wäre ein chattr +a auf den Archiv-Ordner eine gute Lösung? (Erklärung)

    Wenn ich es recht verstehe, wäre damit wäre dann der Archiv-Ordner samt Unterordnern geschützt, darunter könnte man, frau und VDR aber nach wie vor schalten und walten.


    Oder gibt es sonst noch alternative Schutzmöglichkeiten ohne den VDR-Betrieb zu beeinträchtigen?

  • Was willst Du den schützen? Die Unterverzeichnisse oder die Aufnahmen?


    Bei den POSIX ACL beinhaltet das Recht auf Änderung auch immer das Recht auf Löschen. Eine Trennung gibt es IIRC nur bei den Windows ACLs.

    HowTo: APT pinning

  • Dass jeder, der die Fernbedienung in die Finger bekommt, alles nach Lust und Laune löschen/verstellen kann, ist mir auch schon aufgefallen.

    Eine Art Benutzerverwaltung, mit der man sowas verhindern kann, würde den VDR IMHO wirklich bereichern.


    Es gab da AFAIk mal ein Patch/Plugin, aber ich bezweifele, dass das mit VDR 2.4 noch geht.


    Ob das mit dem chattr +a funktioniert, müsste man mal probieren.

    Mit ACLs habe ich mich aber noch nicht näher beschäftigt, es klingt aber interessant.


    Mit normalen Dateirechten könnte man auch die Verzeichnisse, in denen sich die Videos befinden (also die mit dem Datum im Namen), auf readonly setzen. Besser vielleicht sogar nur die Dateien, die nicht geändert werden (marks zB. nicht).

    Dazu müsste man ein Skript schreiben, was das bei jedem Systemstart tut.

    Oder, falls der vdr durch läuft in gewissen Abständen. In dem Fall muss man aber aufpassen, dass auf die Verzeichnisse nicht gerade zugegriffen wird.

    Gruss
    SHF


  • fnu : Ich will den Archiv-Ordner und die Kategorie-Ordner drunter schützen, damit bei einem versehentlichen Löschen nicht gleich dutzende Aufnahmen oder gar alles im Orkus landet. Darunter möchte ich aber gerne weiterhin Aufnahmen reinschieben oder auch löschen können und der VDR soll bei Bedarf seine resume-Dateien erstellen können.


    Ich bin in Sachen POSIX auch relativ unbeleckt: mir erscheint EXT4_APPEND_FL mehr wie eine EXT4-Eigenheit(?)

    Was die Nützlichkeit für Leute die auf NAS speichern oder ZFS am laufen haben, natürlich aufheben würde.

    Ursprünglich hatte ich eigentlich auch chattr +i im Auge, war dann aber ganz verblüfft über die Erklärung der Wirkungsweise von chattr +a bei StackExchange.


    Wie SHF schon sagte: bei Gelegenheit werde ich das auch mal durchtesten.


    Wenn man das FS-unabhängig machen wollte, wären vielleicht leere Dateien mit Bezeichnungen wie .nodel oder .protected eine Möglichkeit zur Auswertung vor dem Löschbefehl durch den VDR.

  • Du hast ZFS auf dem NAS am laufen?

    Dann würde ich das so machen: Regelmäßig Snapshots.

    Das geht auch automatisch, selbst mit Löschen alter Snapshotts, mit entsprechenden Programmen.

    Und wenn dann doch mal jemand was gelöscht hat, dann kannst Du immer noch einzelne Aufnahmen zurückspielen oder ein Rollback machen.


    Viele Grüße

    kamel5

    VDR 2.5.2: ASUS Prime X470-PRO, Ryzen 7 2700, 64GB, 6TB HD, GT630, Fedora 33 Kernel 5.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Nein, ich habe am VDR nur eine interne Festplatte mit ext4, die alle 1-2 Monate mit einer externen Festplatte ge-rsync'ed wird, die dann wiederum physisch an einen anderen Ort kommt.


    Mir geht es einfach darum zu Verhindern, dass das Kind mal in den Brunnen fällt - so ein 10-Stunden-Restore ist auch nicht unbedingt vergnügungssteuerpflichtig.

  • Ja, da bleibt erst einmal nicht viel übrig.


    Ich habe das gerade mal probiert. Ein setzen von Attributen, z.B. ro, auf die Dateien hilft nicht viel.

    Der VDR benennt ja beim Löschen das *.rec Verzeichnis in *.del um und ignoriert dann beim Aufräumen das ro und weg ist die Aufnahme.


    Was aber hilft, ist das chattr +a auf das *.rec Verzeichnis.

    Dann gibt es beim Umbenennen eine Fehlermeldung und nichts passiert.


    Also z.B. folgendes in ein Script verpacken:


    find /mnt/VDR-Aufnahmen/Archiv -name "*.rec" -exec chattr +a {} \;


    Und dann durch einen cronjob regelmäßig aufrufen.


    Du kannst das ja an einer einzelnen Aufnahme mal ausprobieren, zumindest bei mir hat das so funktioniert.


    Viele Grüße

    kamel5

    VDR 2.5.2: ASUS Prime X470-PRO, Ryzen 7 2700, 64GB, 6TB HD, GT630, Fedora 33 Kernel 5.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Anders gefragt: gibt es irgendeinen wichtigen Grund, warum vdr einen 'Ordner' löschen können sollte?


    Ich fände es ausreichend, einzelne Aufnahmen mit der Fernbedienung löschen zu können. Wusste gar nicht, dass vdr da auch gleich ganze 'Ordner' auf einmal wegputzen kann.

    Wenn ich ein komplettes Verzeichnis schreddern möchte, würde ich das instinktiv auf der commandline erledigen.


    Habe das noch nie mit der Fernbedienung probiert. Vielleicht wäre es sinnvoll, wenn vdr hier eine weitere Sicherheitsabfrage bringen würde: "Order 'Reportagen' mit insgesamt 155 Aufnahmen wirklich löschen?" Das macht man ja nicht täglich.


    Christian

  • So eine Abfrage kommt ja schon, wenn auch mit anderem Text. Und sie würde nur dann etwas bringen, wenn man z.B. die Anzahl der Aufnahmen eintippen müsste, um das Löschen zu starten. "Ok" und "Cancel" sind schnell vertauscht, insbesondere, wenn man von der Abfrage überrascht ist und reflexartig reagiert.


    Aufnahmen, die ich behalten will, verschiebe ich auf meinen Server und dessen Freigabe ist read-only gemountet. Wenn ich da was löschen will, benutze ich die Kommandozeile. Aber ich bin jetzt auch nicht der großartige Archivierer. Wenn ich was gesehen hab, wird's danach gelöscht...

  • Das wäre mir neu!

    Dann bin ich ja beruhigt.


    Habe es nicht selbst überprüft und war mir sicher, daß der Threadersteller das so gesehen hat, sonst würde er hier ja nicht fragen. Dann kann der Thread ja auf 'erledigt' gesetzt werden. Dazu einfach auf den Ordnernamen gehen und die gelbe Taste drücken.


    Christian

  • Habe es nicht selbst überprüft und war mir sicher, daß der Threadersteller das so gesehen hat, sonst würde er hier ja nicht fragen.

    Hätte Stein und Bein schwören können, dass das bis vor meinem Update von 2.2.0 auf 2.4.1 vor ein paar Tagen der Fall war - sonst hätte ich nicht extra recherchiert und dann auch noch das Fass hier aufgemacht. Aber so kann man sich täuschen.:(