O problema com a opção mangled names
do Samba é que nenhuma configuração é ideal. Você pode ter nomes que não são desconfigurados, mas não podem ser acessados de qualquer forma, pois contêm caracteres ilegais ou nomes que são mutilados no formato DOS 8.3 e, portanto, perto de ilegíveis.
Felizmente, há (agora) um módulo VFS chamado catia
que fornecerá mapeamentos de caracteres personalizados. Em particular, é possível mapear os caracteres considerados ilegais em nomes de arquivos do Windows.
Na seção [global]
, 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 seção [share_name]
, adicione esta próxima linha (se você já tiver uma linha vfs objects
, basta anexar catia
à lista):
vfs objects = catia
No meu sistema baseado em Debian, este módulo de objeto VFS foi instalado como parte do pacote padrão.
Um exemplo de um nome de arquivo mapeado por essa configuração é 2017-12-24 12:23.txt
. Usando mangled names = yes
esse arquivo é exibido como 2BB0Y9~4.TXT
. Usando vfs objects = catia
, em vez disso, esse nome de arquivo é exibido como 2017-12-24 12÷23.txt
. Não é perfeito, mas é muito bom. E o mais importante, posso acessá-lo a partir de aplicativos do Windows.