Samba n'affiche pas les files correctement quand ils contiennent deux points.
Nom du file d'origine: test:file.txt
Nom T8S6CH~R.TXT
sous Windows: T8S6CH~R.TXT
Comment puis-je le réparer?
Info:
Linux: SLES 11 SP 3
Samba: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64
Pour une raison quelconque, Samba a commencé à manipuler les noms de files contenant deux points. Jusqu'à présent, je ne pouvais rien find concernant ce comportement sur Internet.
La solution est très simple. Ajouter des mangled names = no
dans la section [global]
à /etc/samba/smb.conf
et redémarrer Samba a résolu le problème.
Le problème avec l'option des mangled names
de Samba est qu'aucun paramètre n'est idéal. Vous pouvez avoir des noms qui ne sont pas mutilés, mais qui ne sont pas accessibles parce qu'ils contiennent des caractères illégaux ou des noms qui sont mutilés dans le format DOS 8.3 et donc presque illisibles.
Heureusement, il existe (maintenant) un module VFS appelé catia
qui fournira des mappages de caractères personnalisés. En particulier, il est possible de mapper les caractères considérés comme illégaux dans les noms de files Windows.
Dans la section [global]
, placez ces lignes:
# 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
Dans chaque section [share_name]
ajoutez cette ligne suivante (si vous avez déjà une ligne d' vfs objects
, ajoutez catia
à la list):
vfs objects = catia
Sur mon système Debian, ce module d'object VFS a été installé dans le cadre du package standard.
Un exemple de nom de file mappé par ce paramètre est 2017-12-24 12:23.txt
. Utiliser des mangled names = yes
a ce file affiché comme 2BB0Y9~4.TXT
. En utilisant vfs objects = catia
place ce nom de file affiché comme 2017-12-24 12÷23.txt
. Ce n'est pas parfait mais c'est plutôt bien. Et le plus important, je peux y accéder depuis les applications Windows.