O problema com a mangled namesopçã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 objectslinha, 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 = yesdeste arquivo é exibido como 2BB0Y9~4.TXT. O uso vfs objects = catiadesse 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.