RSS Twitter Facebook Orkut Flickr LinkedIN

Servidor Samba: Lixeira

WP Greet Box icon
Olá! Você é novo por aqui? Que tal aproveitar e assinar o nosso feed RSS para se manter sempre informado das nossas atualizações?
Enviado por | 20 de abril de 2008 às 7:04 | Armazenado em Linux   
Tempo estimado de leitura 3:24 minutos | 3.161 visualizações
Endereço curto para este artigo: http://ggty.in/2C

Compartilhe este artigo:

Um recurso que muitos administradores de sistemas sonham em implementar em seus servidores, é uma lixeira de rede. O funcionamento básico dela seria armazenar arquivos que usuários apaguem via rede, evitando com isso que o administrador tenha que ficar rodando rollbacks sempre que alguém comete um erro e toca fogo em um arquivo “importante”.

Afinal, para todos os usuários, todos os arquivos deletados são “importantes”. Ele nunca deleta algo de que não preciso. Incrível.

Mas, para que o administrador possa dormir tranqüilo, há um meio simples de se fazer esta implementação.


Lixeira 300x225 Servidor Samba: LixeiraEu subentendo que você já está com o Samba instalado e rodando perfeitamente e que quer habilitar a lixeira nele. Para tal, antes de qualquer coisa, veja se os arquivo “recycle.so” está no diretório /usr/lib/samba/vfs, pois sem este arquivo este tutorial não servirá para nada.

Implementando a lixeira na rede

Crie um diretório que será a lixeira para sua rede Samba:

mkdir -p /var/spool/samba/lixeira

O nome do diretório é você que irá definir. Caso você queira que os seus usuários tenham acesso à lixeira (não recomendo por questões de segurança), basta dar permissão global neste diretório e criar links simbólicos diretamente para o diretório escolhido.

Agora que você já criou o local em que será a sua lixeira, está na hora de sujar as mãos com um pouquinho de código.

Edite o arquivo /etc/samba/smb.conf e acrescente as linhas abaixo na sessão [Global] se a lixeira for ser utilizada para todos os volumes compartilhados ou, então, apenas em um dos seus [compartilhamentos]:

vfs objects = recycle
recycle:facility = LOCAL1
recycle:priority = NOTICE
recycle:maxsize = 0
recycle:repository = /var/spool/samba/lixeira/%U
recycle:directory_mode = 0777
recycle:subdir_mode = 0777
recycle:keeptree = Yes
recycle:touch = True
recycle:exclude = *.tmp, *.temp, *.log, *.ldb, *.o, *.obj, ~*.*, *.bak
recycle:exclude_dir = tmp, temp, cache
recycle:versions = Yes
recycle:noversions = .doc|.xls|.ppt|*.dcl

Algumas explicações sobre o que foi feito acima:

recycle:facility = LOCAL1
recycle:priority = NOTICE

Isso significa que um arquivo de log será usado para registrar a movimentação da sua lixeira.

Esse log gravado por meio do syslogd do seu sistema e você vai ter que configurá-lo manualmente.

Quando tentei fazer isso pela última vez eu não consegui. Os logs não eram criados. Acredito eu que o módulo “recycle“, apesar de ter a opção, não gere os logs.

recycle:maxsize = 0

Nesta linha de código voce limita o tamanho de cada arquivo que poderá ser armazenado na lixeira. O número zero, como no exemplo, significa que não tem limite.

recycle:repository = /var/spool/samba/lixeira/%U

Neste código, você informa ao Samba em qual endereço está a sua lixeira. A tag %U é o nome do seu usuário. Com isso, você garante que todos os arquivos deletados pelo usuário A só estarão acessíveis a ele mesmo.

recycle:directory_mode = 0777
recycle:subdir_mode = 0777
recycle:keeptree = Yes
recycle:touch = True

Aqui você determina as permissões dos diretórios. Além disso, aqui você define também se o Samba deverá guardar o nome do diretório de onde o arquivo fora excluído (keeptree) e se a data do arquivo deletado vai ser alterada para a data da exclusão (touch).

recycle:exclude = *.tmp, *.temp, *.log, *.ldb, *.o, *.obj, ~*.*, *.bak, *.iso
recycle:exclude_dir = tmp, temp, cache

Aqui é algo que é necessária uma dose de atenção e cautela. Você está definindo aquilo que não será armazenado na lixeira em hipótese alguma. Significa dizer que o que estiver ali nestas regras, será deletado de vez sem passar pela lixeira. Use este recurso com cautela para não ter dores de cabeça no futuro.

recycle:versions = Yes
recycle:noversions = .doc|.xls|.ppt

Aqui este código faz o seguinte:

versions: verifica a existência do arquivo na lixeira, e caso exista um arquivo com o mesmo nome, ele cria uma cópia dele e armazena ambos. Assim sucessivamente, enquanto o seu usuário não parar de deletar arquivos de mesmo nome.

noversion: este é exatamente o contrário do anterior. Tudo o que estiver neste parâmetro irá sobrescrever o anterior. Significa dizer que se o usuário excluir mais de um arquivo com o mesmo nome, somente o último estará lá, guardadinho para ele. E baubau para o primeiro.

That’s All Folks

Bem, espero que este artigo tenha alguma serventia. Eu senti muita falta de algo assim quando precisei fazer uma implementação desta em um cliente, e não encontrei nada muito simples pela Internet. Este script já tenho aqui guardadinho há algum tempo, e resolvi postá-lo, pois, com certeza, existem outras pessoas com esse mesmo problema, visto que há pouquíssima informação sobre o assunto.

Nota: Não me responsabilizo por nenhuma alteração indevida no seu sistema. Faça-o por sua conta e risco. Faça sempre backups antes de quaisquer alterações.

Gostou do nosso conteúdo?
Assine o nosso FEED Assine-o através de feed RSS!
Receba as atualizações por E-Mail Receba as atualizações por E-Mail.

Compartilhe este artigo:
Compartilhe!
Veja também:
Confira estas ofertas incríveis
Ubuntu 11.10 Roda Direto No Dvd Ultima Versão Frete Gratis
Ubuntu 11.10 Roda Direto No Dvd Ultima Versão Frete Gratis
Mais info»
R$ 8.99
até 18x de 0.67
Linux Mega Pacotev Clickmestre 6dvds Frete! Veja As Versões
Linux Mega Pacotev Clickmestre 6dvds Frete! Veja As Versões
Mais info»
R$ 29.99
até 18x de 2.25
Firewall Servidor Internet
Firewall Servidor Internet
Mais info»
R$ 16.00
até 18x de 1.20
Debian 6   Completo 8 Dvd´s   Frete Gratis
Debian 6 Completo 8 Dvd´s Frete Gratis
Mais info»
R$ 29.98
até 18x de 2.25
Sistema Operacional Linux Opensuse 12.1   Dvd Personalizado
Sistema Operacional Linux Opensuse 12.1 Dvd Personalizado
Mais info»
R$ 7.99
até 18x de 0.60
Ubuntu 12.04 Lts   Live Cd   Com Frete Grátis   Lançamento
Ubuntu 12.04 Lts Live Cd Com Frete Grátis Lançamento
Mais info»
R$ 10.00
até 18x de 0.75
Fedora 16   Verne   Xfce Kde Lxde Gnome 3   R$ 5,  00
Fedora 16 Verne Xfce Kde Lxde Gnome 3 R$ 5, 00
Mais info»
R$ 5.00
até 18x de 0.38
Super Linux Dvd   11 Distros Em UmÚnico Dvd
Super Linux Dvd 11 Distros Em UmÚnico Dvd
Mais info»
R$ 10.98
até 18x de 0.82
Ubuntu 11.10 Roda Direto No Dvd Ultima Versão Frete Gratis !
Ubuntu 11.10 Roda Direto No Dvd Ultima Versão Frete Gratis !
Mais info»
R$ 8.99
até 18x de 0.67
Vitrine Tecnoblog  

Trackbacks


Endereço para trackbacks:
http://www.butecodebits.com.br/2008/04/20/servidor-samba-lixeira/trackback

3 Comentários

  1. Comentado por Ricardo no dia 20 de maio de 2010 às 13:24

    Parabéns pelo simples e direto tutorial sobre a lixeira.

    O seu tuto, até agora, é o mais completo que encontrei. Estava procurando há muito tempo algum artigo que me explicasse com algum detalhe cada opção da Lixeira.

    Parabéns, sei que já se fazem dois anos que ele fora escrito, mas é ótimo.
    Parabéns de novo

  2. Comentado por Links tecnológicos da semana #54 | Viablog no dia 19 de dezembro de 2010 às 8:32

    [...] Lixeira no Samba; [...]

Nota: O Buteco de Bits não é democrático. Aqui eu escolho se um comentário ficará ou não. Caso eu julgue que um comentário é inapropriado, ele será apagado e/ou nem será aprovado.
Quer a sua foto aparecendo aqui? Cadastre-se no Gravatar para que ela apareça aqui e nos outros blogs que utilizem esta tecnologia. É GRÁTIS.

Deixe o seu comentário