Saudações amigos do VOL, como estão todos?
Primeiramente gostaria de dizer que é mais um prazer estar escrevendo para esse site que nos tem ajudado diariamente a lidar com as dificuldades.
Bom, hoje resolvi escrever sobre uma experiência que tive essa semana em um cliente meu, onde tenho um servidor PDC instalado.
Por volta de umas 9h da manhã o meu sistema online de chamados recebeu uma O.S. do gerente da empresa, dizendo que sumiram alguns dados de uma das unidades mapeadas que ele tem, porém eu achei muito esquisito, pois justamente na configuração do Samba deles tem controle de grupos e usuários nas unidades mapeadas.
Bom, chegando ao fim desse longo pepino, descobri que ele mesmo apagou, achando que estava apagando coisas de dentro da própria máquina. Depois desse susto, resolvi atualizar o Samba em todos os meus clientes, "como se fosse um update", então instalei e configurei o ".recycle" nos servidores.
Agora vou mostrar porque essa ferramenta de tão fácil configuração poderá salvar a carreira de um de vocês.
Vamos botar a mão na massa, gostaria de revisar que esse tutorial está sendo montado em cima de uma plataforma em FreeBSD, porém o "smb.conf" pode ser adequado para
Linux também.
Obs.: Assumirei que seu Samba já esteja configurado e funcionando corretamente.
No
Samba 3.0.32, o responsável pela configuração do "recycle" é o
VFS e já vem habilitado. Vamos lá!
Vou colocar aqui o meu .conf em particular que uso em VM's para testes, esse é bem simples:
[global]
workgroup = SEU_DOMINIO_AQUI
netbios name = NOME_DO_SERVIDOR
server string = STRING_DO_SERVIDOR
domain master = yes
domain logons = yes
logon script = netlogon.bat
security = user
encrypt passwords = yes
preferred master = yes
local master = yes
os level = 100
wins support = yes
log file = /var/log/samba/log.%m
log level = 3
unix charset = ISO8859-1
dos charset = ISO8859-1
vfs object = recycle
recycle:repository = /usr/.recycle/%U
recycle:keeptree = Yes
recycle:touch = Yes
recycle:versions = Yes
recycle:maxsize = 0
recycle:minsize = 1
recycle:exclude = *.tmp *.temp *.o *.obj ~$* *.~??
recycle:excludedir = /tmp /temp /cache
recycle:noversions = *.doc *.xls *.ppt
[netlogon]
comment = Servico de Logon
path = /home/netlogon
read only = yes
browseable = no
[relatorios]
browseable = yes
path = /usr/relatorios
public = yes
guest only = no
writeable = yes
guest ok = yes
[software]
browseable = yes
path = /usr/software
public = yes
guest only = no
writeable = yes
guest ok = yes
[dados]
comment = Programas
path = /usr/dados
read list = @tecnico
write list = @suporte
browseable = yes
read only = no
[recycle]
path = /usr/.recycle/
recicle:repository = .recycle
vfs object = recycle
browseable = yes
writable = yes
public = yes
Obs.: A pasta do recycle deve estar como oculta no sistema e não deve ser visualizada por nenhum usuário, também não deve ser mapeada de forma alguma, isso é mais uma segurança.
As permissões da pasta ".recycle" devem ficar como 777, pois aqui será criada uma pasta para cada usuário automaticamente na hora em que ele apaga um arquivo das unidades mapeadas, por isso a necessidade de se ter todos os usuários e as máquinas cadastradas no Samba.
Fazendo essas configurações antes de rodar o Samba, teste-o para realmente saber se ele não apresenta nenhum problema com o comando:
# testparm
O resultado da saída desse comando será:
Load smb config files from /usr/local/etc/smb.conf
Processing section "[netlogon]"
Processing section "[arquivos]"
Processing section "[arquivos2]"
Processing section "[dados]"
Processing section "[lixeira]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions
OK, o mesmo disse que a configuração do smb.conf está pronta para ser rodada como um controlador de domínio.
Fazendo isso basta subir o Samba com essa linha:
# /usr/local/etc/rc.d/samba start
Removing stale Samba tdb files: ........ done
Starting nmbd.
Starting smbd.
Pronto, seu Samba está funcionando, agora só resta você testar e ver se na pasta do .recycle contém uma outra pasta com o nome do usuário que você excluiu o arquivo.
Vocês puderam ver como uma simples configuração rápida e fácil pode salvar o vaga de uma pessoa que trabalha em um centro de TI, ou para quem como eu tenho uma empresa e presto esse tipo de serviço, nesses dois casos, você com certeza será muito bem elogiado se implantar essa solução antes que algum usuário consiga apagar dados que não devia.
Obs.: Todos e qualquer testes foram feitos primeiramente em ambientes de testes em uma VMWare, NUNCA façam testes em ambientes de produção.
Galera, fica aqui minha contribuição para que eu possa ajudar algumas pessoas, assim como fui ajudado quando precisei.
Obrigado
Rodrigo G. Crescencio