Papierkorb für Windows-​​User auch mit Samba-​​Server-​​Freigabe

Wer als Datei­ser­ver für Windows-​​Benutzer einen Samba-​​Server benutzt, der muss auch auf den heiß­ge­lieb­ten Papier­korb nicht ver­zich­ten. In unse­rer Agen­tur ist der Papier­korb so kon­fi­gu­riert, dass die gelösch­ten Dateien bestimm­ter Netz­werk­frei­ga­ben in einem Ord­ner mit Namen .Papier­korb lan­den und zwar in dem Unter­ord­ner des Nut­zers, der die Datei gelöscht hat. Ein wei­te­rer Vor­teil die­ser Kon­zep­tion ist, dass man den Papier­korb auto­ma­tisch per cron­job löschen kann. In unse­rem Fall wer­den Dateien im Papier­korb, die älter sind als 14 Tage, gelöscht — sozu­sa­gen ein Papier­korb in dem immer nur die alten Doku­mente aus­ge­leert werden.

Der Papier­korb ersetzt natür­lich KEINE Daten­si­che­rung, ist aber hilf­reich wenn ver­se­hent­lich durch Benut­zer Dateien oder Ord­ner gelöscht werden.

Wie gehts?

Grund­sätz­lich kann mit dem VFS-​​Modul recy­cle seit Samba 3 ein Papier­korb rea­li­siert wer­den. Samba gibt jede Anfrage an das UNIX-​​Filesystem durch das gela­dene VFS-​​Modul wei­ter. Mit VFS-​​Modulen kann z.B. auch ein Viren­scan­ner ein­ge­bun­den wer­den, der die Dateien der Netz­werk­frei­gabe auf Viren unter­sucht, dies ist aber NICHT Thema die­ses Beitrags.

Wie alle Samba-​​Konfigurationen, wird auch das VFS-​​Modul recy­cle in der /etc/samba/smb.conf kon­fi­gu­riert. Man kann die Ein­stel­lung ent­we­der inner­halb eines ein­zel­nen Sha­res oder glo­bal für alle Frei­ga­ben vornehmen.

In unse­rem Fall wird für den Samba-​​Share pro­jekte ein Papier­korb ein­ge­rich­tet. Der kom­plette Share-​​Eintrag lautet:

[projekte]
comment = Projekte und Daten von Kunden, Lieferanten
path = /home/hadiag/projekte
read only = No
create mask = 0775
directory mask = 0775
vfs object = recycle
recycle:repository = .Papierkorb/%U
recycle:keeptree = yes
recycle:exclude = *.tmp *.temp *.swp *.o *.obj ~s* Backup* AUTOBACKUP*
recycle:exclude_dir = /tmp /temp /cache /.Cache /.cache
recycle:touch = yes

Damit alle Benut­zer in das Ver­zeich­nis .Papier­korb „schrei­ben“ also Dateien löschen kön­nen, müs­sen sie dort Schreib– und Aus­führ­rechte haben.

Wer möchte, dass der Inhalt des Papier­korbs regel­mä­ßig gelöscht wird, kann dies mit einem Cron­job errei­chen, etwa:

#!/bin/sh
# Alle Dateien in den Verzeichnissen mit Namen .Papierkorb die älter sind als 14 Tage sollen gelöscht werden.
# Diese Dateien sind mit Samba-Clients gelöschte Dateien (siehe smb.conf).
find /home -type f -wholename "*/.Papierkorb/*" -ctime +14 -exec rm "{}" \;

So, nun blei­ben nur noch viele, viele leere Ver­zeich­nisse übrig. Auch die möchte man löschen. In mei­nem Bei­spiel befin­den sich die .Papierkorb-​​Verzeichnisse alle irgendwo unter­halb von /​home. Mit dem fol­gen­den Befehl lösche ich die Ver­zeich­nisse die dort so hei­ßen, und leer sind:

find /home -depth -type d -empty -wholename "*/.Papierkorb/*" -exec rmdir "{}" \;

ACHTUNG mit rm sollte man nur umge­hen, wenn man weiß was man tut, siehe „man rm“; Zum Test des obi­gen Kom­man­dos empehle ich –exec durch –ok zu erset­zen — so muss man jedes Kom­mando bestä­ti­gen. Nut­zung obi­ger Anga­ben wie immer ohne Gewähr.

Wei­tere inter­es­sante Arti­kel zum Thema:

Dieser Beitrag wurde unter Linux, Systemadministration, Windows abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

*


Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>