Mapeamento de nome de arquivo do Samba CATIA

3

Estou executando o Ubuntu Server 12.04.2 LTS como um servidor de correio conectado ao ActiveDirectory usando dovecot e postfix. Tudo funciona bem nesta parte.

Agora, queremos exportar o armazenamento de e-mail para fins de backup. Eu instalei o samba e juntei-o ao domínio. É assim que meu compartilhamento de samba se parece:

[global]
        mangled names = No

[MailStore]
        comment = Mail Storage
        path = /srv/vmail
        valid users = Administrator
        force user = vmail
        force group = vmail

Agora posso acessar o armazenamento de e-mail com a conta de administrador (que é aquela usada pelo aplicativo de backup).

Ao navegar no armazenamento de mensagens, vejo nomes de arquivos contendo ":", que é inválido para o Windows. A Dovecot a usa para adicionar algum tipo de informação de status aos nomes de arquivos nos maildirs. Eu quero deixar assim. Mas o Windows não consegue ler esses arquivos.

Então, depois de algumas pesquisas, achei que a solução a seguir deveria resolvê-lo:

[MailStore]
        vfs objects = catia
        catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6,0x20:0xb1

Mas, embora o ":" (0x3a) seja mapeado, ele não afeta os nomes dos arquivos ao navegar pelo compartilhamento com o Windows Explorer. Os nomes dos arquivos não são alterados.

Eu tentei mangled names = Yes , mas isso só afeta os nomes dos arquivos até a impossibilidade de serem usados. Ele converte todos os nomes de arquivos com caracteres ilegais no formato 8.3 - não podemos usar isso para recuperação. E eu não acho que isso teria um efeito nas configurações do VFS de qualquer maneira.

Então, por que o samba não usa o módulo VFS? Não vejo erros nos logs. E "locate" revela a respectiva biblioteca vfs_catia.so instalada. A versão do samba deve suportar esta configuração de acordo com os documentos:

# smbd -V
Version 3.6.3
    
por hurikhan77 12.06.2013 / 14:28

1 resposta

3

Eu tive o mesmo problema com 12.04 e dovecot, fui pesquisando e tive uma solução.

Encontrou um patch nesta postagem :

Baixou o patch (como attachment.bin) e seguiu estas (antigas) instruções: link na construção de um pacote do Ubuntu a partir da fonte. Você quer o pacote 'samba' .....

(crie uma pasta em algum lugar com espaço para baixar 23MB ....)

apt-get source samba
apt-get build-dep samba

Agora você deseja aplicar o patch baixado ao arquivo: source3/modules/vfs_catia.c na pasta samba-3.6.3. Eu não consegui descobrir como aplicar o diff usando 'patch', então o apliquei manualmente - são apenas 3 linhas. Reconstrua o pacote samba, na pasta samba-3.6.3 /:

dpkg-buildpackage -rfakeroot -b

Minha compilação funcionava, mas criava:

samba-3.6.3/source3/bin/catia.so

que quando copiado para

/usr/lib/samba/vfs/catia.so

e reiniciar o Samba fornece o mapeamento adequado de caracteres do vfs catia: -)

Obrigado a Günter Kukkukk pelo patch !!!

    
por JerryL 24.08.2013 / 21:04