Virtuelle Boxen, Linux-Hosts, Windows-Gäste, freigegebene Ordner und Papierkörbe

Virtuelle Boxen, Linux-Hosts, Windows-Gäste, freigegebene Ordner und Papierkörbe

Im Grunde suche ich nach einer Möglichkeit zum Freigeben von Ordnern zwischen meinem Debian-Jessie-Host und dem Windows 7-Gast, ohne befürchten zu müssen, dass ich versehentlich Dateien unter Windows lösche und keine (praktische) Möglichkeit habe, diese Dateien wiederherzustellen.

Ich dachte, das ließe sich leicht erreichen, aber wie es scheint, ist das überhaupt nicht der Fall.

Nach einigem Googeln habe ich bei TechNet diesen sehr ausführlichen Workaround gefunden:

Papierkorb auf zugeordneten Netzlaufwerken aktivieren

Aber wie sich herausstellte, scheint es nur zu funktionieren, wenn sich beide Seiten in einer Windows-Umgebung befinden (und möglicherweise sogar dann nicht mit VirtualBox, sondern z. B. mit einem normalen Windows-System mit aktiviertem NTFS, das als Server fungiert). Siehe meine und die Kommentare anderer Leute:

... Wenn ich eine Datei lösche, fragt Windows zuerst, ob ich sie in den Papierkorb verschieben möchte. Dann wird mir in einem weiteren Dialogfeld mitgeteilt, dass ich eine Berechtigung (vom Administrator erteilt) benötige, und es wird eine Schaltfläche zum erneuten Versuch angezeigt. Das Klicken auf „Wiederholen“ schlägt dann fehl, da die Datei bereits gelöscht ist. Es spielt keine Rolle, ob der Explorer als Administrator ausgeführt wird, da das Verhalten dasselbe ist ...

Ich möchte also eine andere Lösung für dieses Problem finden - ob dies nur mit dem Gast erreicht werden kann (wie der bei TechNet beschriebene Hack) oder einige Änderungen am Host-Setup erfordert, spielt (vorerst) keine Rolle. Ich freue mich über jeden Input!

Ich kann mir so etwas wie Schattenkopien vorstellen,ext4Dateisystem (falls möglich) oder sogar das Einrichten eines Dateiservers mitSamba(?) bei meinem Host und finde eine Möglichkeit, es dem Gast zuzuordnen.

Wie man sieht habe ich hier zu wenig Ahnung...

Antwort1

Unter Linux kann Samba mithilfe des Moduls vfs_recycle das Löschen von Dateien abfangen und die Dateien in ein anderes Repository verschieben.

Siehe diese Links:

Antwort2

Dank der Antwort von @harrymc konnte ich Samba mit aktiviertem Papierkorb einrichten. Dies sind die Schritte, die ich gemacht habe:

1. Deaktivieren Sie freigegebene Virtual Box-Ordner

Zunächst habe ich alle freigegebenen Ordner von Virtual Box deaktiviert, sodass die gesamte Dateifreigabe nur über mit Samba konfigurierte Netzwerkfreigaben erfolgt – dies ist jedoch keine Voraussetzung.

2. Installieren Sie Samba

Ich folgte dann den Anweisungen unterhttps://wiki.debian.org/SambaServerSimplezur Installation von Samba ...

apt-get install samba samba-client

3. Samba-Benutzer erstellen

... und anschließend einen neuen Benutzer anlegen mit:

smbpasswd -a johndoe

4. Samba-Konfiguration aktualisieren

Um die freigegebenen Ordner zu konfigurieren, habe ich dann meinen /etc/samba/smb.confmit einem entsprechenden Abschnitt namens aktualisiert, der dem Namen des Hostcomputers [shared]zugeordnet wird .//debian/sharedDebianin meinem Fall.

[shared]
   path = /home/johndoe/shared
   comment = My Shared Folder
   read only = no
   browseable = yes
   create mask = 0777
   directory mask = 0777
   guest ok = no
   hide files = /.recycle/
   vfs objects = recycle
      recycle:repository = .recycle
      recycle:keeptree = yes
      recycle:versions = yes
      recycle:touch = yes
      recycle:minsize = 0
      recycle:maxsixe = 0

5. Starten Sie Samba neu

Nachdem ich die Konfiguration abgeschlossen hatte, habe ich die Datei gespeichert und Samba mit folgendem neu gestartet:

sudo service smbd restart

6. Fertig

Und das war’s. Zurück beim Windows-Gast habe ich mich über //debian/sharedden Windows Explorer angemeldet und die Anmeldeinformationen fürJohn Doewie vorher konfiguriert. Und jetzt werde ich beim Löschen einer Datei immer noch gefragt, ob ich sie dauerhaft löschen möchte, aber bei der Bestätigung mitJadie Datei wird tatsächlich nicht gelöscht, sondern in das Recycling-Repository-Verzeichnis verschoben.


Anmerkungen:

Ich habe erkannt, dassLöschen eines leeren Ordnerszu Gastwird es dauerhaft entfernenauch auf dem Host, anstatt in das Recycling-Repository-Verzeichnis zu verschieben.


Papierkorb schützen ...

Obwohl die hide files = /.recycle/Einstellung dafür sorgt, dass der Ordner mit dem Recycling-Repository in den Standardeinstellungen des Windows Explorers nicht sichtbar ist, ist es möglich, auch außerhalb des freigegebenen Ordners ein Recycling-Repository zu verwenden, sodass kein Client dessen Inhalt löschen kann. Um dies einzustellen, /home/johndoe/.shared.recyclehabe ich Folgendes verwendet:

      recycle:repository = ../.shared.recycle

Zusätzliche Konfiguration

Das geht etwas über den Rahmen dieser Frage hinaus - aber hier können Sie meine vollständige Konfigurationsdatei sehen. Viele der Einstellungen [global]waren nach der Installation von Samba bereits vorhanden. Da ich aber immer wissen möchte, was tatsächlich konfiguriert ist, habe ich mir Folgendes angesehen:https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.htmlHandbuchseiten und habe dann einige der Standardeinstellungen geändert.

[global]
   workgroup = WORKGROUP
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1024
   syslog only = no
   syslog = 0
   server role = standalone server

   map to guest = Never
   usershare allow guests = no

   pam password change = yes
   obey pam restrictions = yes
   unix password sync = no

   passdb backend = tdbsam
   encrypt passwords = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .


;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
;   valid users = %S

;[printers]
;   path = /var/spool/samba
;   comment = All Printers
;   browseable = no
;   read only = yes
;   create mask = 0700
;   printable = yes
;   guest ok = no

;[print$]
;   path = /var/lib/samba/printers
;   comment = Printer Drivers
;   browseable = yes
;   read only = yes
;   guest ok = no

#[shared]
# ... as shown above

Wie Sie sehen, habe ich Abschnitte [printers]und Kommentare hinzugefügt [print$], da ich meine Drucker derzeit nicht freigeben möchte.

Ich habe den Abschnitt ebenfalls kommentiert [homes]. Hauptsächlich, weil ich nicht viel über die Auswirkungen in Bezug auf die Sicherheit weiß, wenn es aktiviert ist. Wenn jemand hier näher darauf eingehen möchte, ist er herzlich willkommen!

Ich glaube, ich verstehe, map to guest = Neverdass usershare allow guests = noder Gastzugriff vollständig deaktiviert werden wird.

Aber ich weiß nicht viel über die anderen oben gezeigten sicherheitsrelevanten Einstellungen. Wenn mir jemand erklären könnte, was sie einzeln oder alle zusammen bedeuten, wäre das großartig. Insbesondere pam password changeund sind mir obey pam restrictionsnicht unix password syncso klar, obwohl ich das entsprechende Kapitel in den Manpages gelesen habe:

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#PAMPASSWORDCHANGE

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#OBEYPAMRESTRICTIONS

https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#UNIXPASSWORDSYNC

Schließlich sind die Einstellungen für passdb backend, encrypt passwords, passwd programund passwd chatbei der Installation unter Debian Jessie standardmäßig enthalten.

verwandte Informationen