Le problème avec l' mangled namesoption de Samba est qu'aucun des deux paramètres n'est idéal. Vous pouvez avoir des noms qui ne sont pas modifiés, mais auxquels vous ne pouvez accéder d'aucune façon car ils contiennent des caractères illégaux ou des noms modifiés au 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. Il est notamment possible de cartographier les caractères considérés comme illégaux dans les noms de fichiers Windows.
Dans la [global]section, 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 [share_name]section, ajoutez cette ligne suivante (si vous en avez déjà une vfs objects, ajoutez-la catiaà la liste):
vfs objects = catia
Sur mon système basé sur Debian, ce module objet VFS a été installé dans le cadre du paquet standard.
Un exemple de nom de fichier mappé par ce paramètre est 2017-12-24 12:23.txt. L'utilisation de mangled names = yesce fichier s'affiche sous la forme 2BB0Y9~4.TXT. À la vfs objects = catiaplace, ce nom de fichier s'affiche sous la forme 2017-12-24 12÷23.txt. Ce n'est pas parfait mais c'est plutôt bien. Et surtout, je peux y accéder à partir d'applications Windows.
Voir ⁚ ∶ ׃ ꞉ pour d'autres caractères qui ressemblent à deux points ASCII.
Stéphane Chazelas
@ StéphaneChazelas, n'hésitez pas à soumettre cette suggestion à l'équipe de développement Samba. Je viens de prendre leur liste suggérée.
roaima
Lorsque je partage un dossier avec Nautilus, le dossier n'apparaît évidemment pas dans /etc/samba/smb.conf. Comment puis-je appliquer votre solution dans ce scénario?
Hans Deragon
C'est parfait, merci.
Le
5
Pour une raison quelconque, Samba a commencé à modifier les noms de fichiers contenant deux points. Jusqu'ici, je n'ai rien trouvé concernant ce comportement sur Internet.
La solution est très simple. L'ajout mangled names = node la [global]section /etc/samba/smb.confet le redémarrage de Samba ont résolu le problème.
Cette solution est incomplète. Les fichiers contenant des caractères Windows illégaux tels que «:» ne sont pas affichés. Voir la solution de roaima.
Hans Deragon
1
Point d'interrogation des caractères spéciaux? \ <> * etc sont illégaux dans les noms de fichiers Windows et j'évite toujours de les utiliser.
Néanmoins, je n'ai aucun problème avec ces personnages utilisant mon macOS Catalina pour accéder à ma configuration FreeNAS-11.3-U1 et SMB / Samba. Je ne sais pas pourquoi ce paramètre n'est pas par défaut, mais vous devrez suivre ces étapes pour le faire fonctionner sans problème avec MacOS.
Dans FreeNAS webUI, allez à Partage> SMB> Modifier
Choisissez "mode avancé" et cochez à la fois catia et fruit dans "Objets VFS"
Réglez le paramètre auxiliaire sur fruit:encoding = native
Pour une raison quelconque, Samba a commencé à modifier les noms de fichiers contenant deux points. Jusqu'ici, je n'ai rien trouvé concernant ce comportement sur Internet.
La solution est très simple. L'ajout
mangled names = no
de la[global]
section/etc/samba/smb.conf
et le redémarrage de Samba ont résolu le problème.la source
Point d'interrogation des caractères spéciaux? \ <> * etc sont illégaux dans les noms de fichiers Windows et j'évite toujours de les utiliser.
Néanmoins, je n'ai aucun problème avec ces personnages utilisant mon macOS Catalina pour accéder à ma configuration FreeNAS-11.3-U1 et SMB / Samba. Je ne sais pas pourquoi ce paramètre n'est pas par défaut, mais vous devrez suivre ces étapes pour le faire fonctionner sans problème avec MacOS.
Dans FreeNAS webUI, allez à Partage> SMB> Modifier
fruit:encoding = native
Allez ensuite aux services et redémarrez SMB
la source