samba comment afficher les fichiers avec deux points dans leurs noms?

13

Samba n'affiche pas correctement les fichiers lorsqu'ils contiennent deux points.

Nom du fichier d'origine: test:file.txt

Nom d'affichage 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

Peter VARGA
la source

Réponses:

13

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.

roaima
la source
1
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.

Peter VARGA
la source
C'est bon de savoir ça! +1
Luciano Andress Martini
4
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

  1. Choisissez "mode avancé" et cochez à la fois catia et fruit dans "Objets VFS"
  2. Réglez le paramètre auxiliaire sur fruit:encoding = native

Allez ensuite aux services et redémarrez SMB

trommegutten
la source