A maioria dos nossos computadores executa o Ubuntu, mas dois deles são de inicialização dupla no Windows e, quando temos convidados, eles geralmente também executam computadores com Windows. Assim, além de usar o NFS, nosso servidor de arquivos (servidor Ubuntu) também executa o Samba.
E como usamos o Ubuntu principalmente, gostamos de aproveitar suas vantagens sobre o Windows, como poder usar os caracteres \:*?"<>|
em um nome de arquivo. O problema, é claro, é que o Windows não aceita esses caracteres nos nomes dos arquivos e, portanto, o Samba precisa traduzir o nome do arquivo em algo mais aceitável. A maneira como faz isso, no entanto, acho desagradável.
O nome do arquivo, Episode 182 - Exorcist 2: The Heretic.mp4
por exemplo, se transforma em E4Q82R~Y.MP4
. Esta é uma terrível "correção". Existe uma maneira de tornar o samba do Samba um pouco mais amigável para os seres humanos? É possível "corrigi-lo" para algo como Episode 182 - Exorcist 2_ The Heretic.mp4
, em vez disso, onde os caracteres ilegais são simplesmente substituídos?
Samba 4.1.4-Debian
.Respostas:
mangled map
agora está obsoleto e não funcionará mais em novas versões do Samba.Você pode usar vfs_catia para resolver o problema. Adicione as seguintes linhas ao smb.conf:
O mapeamento é especificado com códigos de caracteres hexedecimais prefixados 0x, separados por dois pontos. O mapeamento fornecido remapeará caracteres ilegais para unicode semelhantes que dificilmente serão usados em qualquer idioma.
:? * <> "| \
∶ ʔ ∗ ❮ ❯ ʺ ∣ ⧹
O código pode ser colocado
[global]
em uma[share]
seção ou em uma seção individual . Colocá-lo[global]
pode afetar o desempenho.Observe que qualquer personagem para o qual você mapeia não pode ser usado nos nomes de arquivos no servidor ou eles estarão inacessíveis.
Exemplo: Um cliente Windows que acessa um arquivo nomeado
file❮name.txt
no servidor solicitaráfile<name.txt
o servidor devido ao mapeamento, o que resultará em um erro de arquivo não encontrado.fonte
0x3a:0x7e 0x3f:0x5e
assim:
torna~
-?
se e torna - se^
.Em este link você pode ver as opções mangling. Acho que primeiro você deve desativar a opção:
Depois disso, acho que os nomes devem ficar melhores ...
Para substituir os dois pontos, por exemplo, use esta linha:
Você pode adicionar mais regras de substituição como esta:
(também substitui qualquer ocorrência de foo por barra)
fonte
tes:t.txt
no bloco de notas, por exemplo, me dizem "Não é possível encontrar o [...] arquivo \ tes: t.txt." O mesmo acontece com outros arquivos "ilegais" em seus respectivos aplicativos.mangled map
foi removido do Samba. Pelo que posso dizer, depois de um pouco olhando ao redor, ele foi removido anos atrás. Este é o meulog.smbd
arquivo diz que se eu tentar usá-lo:Ignoring unknown parameter "mangled map"