Virtual Boxes, hosts Linux, invitados Windows, carpetas compartidas y papeleras de reciclaje

Virtual Boxes, hosts Linux, invitados Windows, carpetas compartidas y papeleras de reciclaje

Básicamente, lo que estoy buscando es una forma de compartir carpetas entre mi host Debian Jessie y mi invitado de Windows 7 sin temor a borrar accidentalmente archivos en Windows y no tener una forma (conveniente) de restaurar esos archivos.

Supuse que esto es algo que se puede lograr fácilmente, pero parece que no lo es en absoluto.

Buscando un poco en Google encontré esta solución alternativa muy detallada en TechNet:

Habilite la Papelera de reciclaje en unidades de red asignadas

Pero resultó que simplemente parece funcionar cuando se está en un entorno Windows en ambos lados (y posiblemente incluso entonces no con VirtualBox sino, por ejemplo, con un sistema Windows normal con NTFS habilitado que actúa como servidor). Vea mis comentarios y los de otras personas:

... Al eliminar un archivo, Windows primero me pregunta si quiero moverlo a la papelera de reciclaje, luego me dice en otro cuadro de diálogo que necesito permiso (otorgado por el administrador) y muestra un botón de reintento. Luego, al hacer clic en Reintentar falla porque el archivo ya está eliminado. De todos modos, no importa si Explorer se ejecuta como administrador, ya que el comportamiento es el mismo...

Así que quiero encontrar otra solución para este problema: no importa si se puede lograr solo con el invitado (como el truco descrito en TechNet) o si implica algunos cambios en la configuración del host (por ahora). ¡Me alegra cualquier aporte!

Puedo imaginar algo así como instantáneas en elext4sistema de archivos (si es posible) o incluso configurar un servidor de archivos conSamba(?) en mi anfitrión y encontrar una manera de asignarlo al huésped.

Como puedes ver, tengo menos conocimiento aquí...

Respuesta1

En Linux, Samba puede interceptar la eliminación de archivos y moverlos a otro repositorio, utilizando el módulo vfs_recycle.

Vea estos enlaces:

Respuesta2

Gracias a la respuesta proporcionada por @harrymc pude configurar Samba con la papelera de reciclaje habilitada. Estos son los pasos que he realizado:

1. Deshabilite las carpetas compartidas de Virtual Box

En primer lugar, he desactivado las carpetas compartidas de Virtual Box para que todo el intercambio de archivos se realice únicamente a través de recursos compartidos de red configurados por Samba; aunque esto no es un requisito.

2. Instalar Samba

Luego seguí las instrucciones enhttps://wiki.debian.org/SambaServerSimplepara instalar Samba...

apt-get install samba samba-client

3. Crear usuario de Samba

... y luego creando un nuevo usuario con:

smbpasswd -a johndoe

4. Actualizar la configuración de Samba

Para configurar las carpetas compartidas, actualicé mi /etc/samba/smb.confcon una sección respectiva llamada [shared]que se asignará //debian/sharedcomo el nombre de la computadora host.debianen mi caso.

[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. Reiniciar Samba

Una vez que terminé la configuración, guardé el archivo y reinicié samba con:

sudo service smbd restart

6. Hecho

Y eso es. De vuelta en el invitado de Windows al que me conecté //debian/sharedusando el Explorador de Windows e ingresé las credenciales parajuandoecomo se configuró antes. Y ahora, al eliminar un archivo, todavía me preguntan si quiero eliminarlo permanentemente, pero al confirmar conEn realidad, el archivo no se elimina, sino que se mueve al directorio del repositorio de reciclaje.


Notas:

he reconocido queeliminar una carpeta vacíaen invitadolo eliminará permanentementeen el host también en lugar de moverse al directorio del repositorio de reciclaje.


Protegiendo la papelera de reciclaje...

Aunque la hide files = /.recycle/configuración garantiza que la carpeta del repositorio de reciclaje no sea visible con la configuración estándar del Explorador de Windows, también es posible utilizar un repositorio de reciclaje fuera de la carpeta compartida, de modo que ningún cliente pueda eliminar su contenido. Para configurarlo /home/johndoe/.shared.recycleutilicé:

      recycle:repository = ../.shared.recycle

Configuración adicional

Un poco fuera del alcance de esta pregunta, pero aquí puede ver mi archivo de configuración completo. Muchas de las configuraciones en[global] estaban presentes inicialmente después de instalar samba. Pero como siempre quiero saber qué está realmente configurado, eché un vistazo ahttps://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.htmlpáginas del manual y luego cambió algunas de las configuraciones predeterminadas.

[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

Como puede ver, he comentado secciones [printers]y [print$]ya que no quiero compartir mis impresoras por ahora.

Yo también comenté la [homes]sección. Principalmente porque no sé mucho sobre las implicaciones en términos de seguridad al tenerlo habilitado. Si alguien quiere dar más detalles sobre esto aquí, ¡de nada!

Lo que creo que entiendo es map to guest = Neverque usershare allow guests = nodeshabilitaré completamente el acceso de invitados.

Pero no sé mucho sobre las otras configuraciones relacionadas con la seguridad que se muestran arriba. Si alguien pudiera explicarme qué quieren decir solos o todos juntos sería genial. Especialmente pam password change, obey pam restrictionsy unix password syncno son tan claros para mí, aunque he leído el capítulo respectivo en las páginas de manual:

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

Finalmente, las configuraciones para , passdb backendy vienen con la instalación en Debian Jessie de forma predeterminada.encrypt passwordspasswd programpasswd chat

información relacionada