Virtual Boxes, hosts Linux, convidados do Windows, pastas compartilhadas e lixeiras

2
Basicamente, o que eu estou procurando é uma forma de compartilhar pastas entre meu host Debian Jessie e o convidado do Windows 7 sem o medo de eu acidentalmente excluir arquivos no Windows e não ter uma maneira (conveniente) de restaurar esses arquivos.

Eu assumi que isso é algo que pode ser alcançado facilmente, mas parece que não é de todo.

Com um pouco de googling, encontrei esta solução detalhada no TechNet:

Ativar Lixeira em unidades de rede mapeadas

Mas, como acabou, parece funcionar quando está em um ambiente Windows em ambos os lados (e possivelmente até mesmo não com o VirtualBox, mas, por exemplo, com um sistema Windows regular com o NTFS habilitado atuando como servidor). Veja meus comentários e outras pessoas:

... When deleting a file Windows first asks whether I want to move it to the recycle bin, then it tells me in another dialog I need permission (granted by administrator) and shows a retry button. Then clicking retry fails as the file is already deleted. It does not matter whether Explorer runs as administrator anyways as the behavior is the same ...

Portanto, quero encontrar outra solução para essa questão - se ela pode ser obtida apenas com o convidado (como o hack descrito no TechNet) ou se algumas alterações na configuração do host não importam (por enquanto). Estou feliz com qualquer entrada!

Posso imaginar algo como cópias de sombra no sistema de arquivos ext4 (se isso for possível) ou até mesmo configurar um servidor de arquivos com Samba (?) no meu host e encontrar uma maneira de mapeá-lo para o convidado.

Como você pode ver, eu tenho muito menos conhecimento aqui ...

    
por conceptdeluxe 20.05.2015 / 22:15

2 respostas

0

Graças à resposta fornecida por @harrymc, consegui configurar o Samba com a lixeira ativada. Estes são os passos que fiz:

1. Desativar pastas compartilhadas do Virtual Box

Antes de mais nada, desativei todas as pastas compartilhadas do Virtual Box para que todo o compartilhamento de arquivos seja feito somente através de compartilhamentos de rede configurados pelo Samba - isso não é um requisito.

2. Instalar o Samba

Segui as instruções no link para instalar o Samba ...

apt-get install samba samba-client

3. Crie um usuário do Samba

... e, em seguida, criar um novo usuário com:

smbpasswd -a johndoe

4. Atualizar configuração do Samba

Para configurar as pastas compartilhadas, atualizei meu /etc/samba/smb.conf com uma respectiva seção chamada [shared] , que será mapeada para //debian/shared , pois o nome do computador host é debian no meu 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. Reinicie o Samba

Quando terminei a configuração, salvei o arquivo e reiniciei o samba com:

sudo service smbd restart

6. Concluído

E é isso. De volta ao convidado do Windows, conectei-me a //debian/shared usando o Windows Explorer e inseri as credenciais para johndoe como configurado anteriormente. E agora, ao excluir um arquivo, ainda me perguntam se desejo excluí-lo permanentemente, mas ao confirmar com yes o arquivo não é realmente excluído, mas movido para o diretório do repositório de arquivos.

Notas:

Eu reconheci que excluir uma pasta vazia no guest a removerá permanentemente no host também, em vez de ir para o diretório de repositório de reciclar.

Protegendo a lixeira ...

Embora a configuração hide files = /.recycle/ garanta que a pasta do repositório de reciclagem não seja visível nas configurações padrão do Windows Explorer, também é possível usar um repositório de reciclagem fora da pasta compartilhada, para que nenhum cliente possa excluir seu conteúdo. Para configurá-lo para /home/johndoe/.shared.recycle usei:

      recycle:repository = ../.shared.recycle

Configuração adicional

Um pouco fora do escopo desta questão - mas aqui você pode ver meu arquivo de configuração completo. Muitas das configurações em [global] estavam inicialmente presentes após a instalação do samba. Mas como eu sempre quero saber o que está realmente configurado, eu dei uma olhada em link páginas de manual e, em seguida, alterou algumas das configurações padrão.

[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 você pode ver, eu comentei as seções [printers] e [print$] , já que não quero compartilhar minhas impressoras por enquanto.

Eu também comentei a seção [homes] . Principalmente porque eu não sei muito sobre as implicações em termos de segurança ao ativá-lo. Se alguém quiser elaborar isso aqui, você é bem-vindo!

O que eu acho que entendo é que map to guest = Never e usershare allow guests = no desativarão completamente o acesso de convidados.

Mas não sei muito sobre as outras configurações relacionadas à segurança mostradas acima. Se alguém pudesse me explicar o que eles querem dizer sozinho ou todos juntos, isso seria ótimo. Especialmente pam password change , obey pam restrictions e unix password sync não são tão claros para mim, embora eu tenha lido o respectivo capítulo em man pages:

link

link

link

Finalmente, as configurações para passdb backend , encrypt passwords , passwd program e passwd chat vêm com a instalação no Debian Jessie por padrão.

    
por 31.05.2015 / 23:03
3

No Linux, o Samba pode interceptar exclusões de arquivos e mover os arquivos para outro repositório, usando o módulo vfs_recycle.

Veja estes links:

por 29.05.2015 / 08:09