O problema com a mangled names
opção do Samba é que nenhuma das configurações é ideal. Você pode ter nomes que não sejam mutilados, mas não podem ser acessados de forma alguma, pois contêm caracteres ilegais ou nomes mutilados no formato DOS 8.3 e, portanto, quase ilegíveis.
Felizmente, existe (agora) um módulo VFS chamadocatia
que fornecerá mapeamentos de caracteres personalizados. Em particular, é possível mapear os caracteres considerados ilegais nos nomes de arquivos do Windows.
Na [global]
seção, coloque estas linhas:
# Mapping illegal characters, where enabled with "vfs objects = catia"
mangled names = no
catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
Em cada [share_name]
seção, adicione esta próxima linha (se você já tiver uma vfs objects
linha, basta anexar catia
à lista):
vfs objects = catia
No meu sistema baseado no Debian, este módulo de objeto VFS foi instalado como parte do pacote padrão.
Um exemplo de um nome de ficheiro que está mapeado por esta configuração é 2017-12-24 12:23.txt
. O uso mangled names = yes
deste arquivo é exibido como 2BB0Y9~4.TXT
. O uso vfs objects = catia
desse nome de arquivo é exibido como 2017-12-24 12÷23.txt
. Não é perfeito, mas é muito bom. E o mais importante, eu posso acessá-lo em aplicativos do Windows.