La plupart de nos ordinateurs exécutent Ubuntu, mais deux d'entre eux sont à double démarrage dans Windows, et lorsque nous avons des invités, ils exécutent généralement des ordinateurs Windows. Ainsi, en plus d'utiliser NFS, notre serveur de fichiers (serveur Ubuntu) exécute également Samba.
Et comme nous utilisons principalement Ubuntu, nous aimons profiter de ses avantages par rapport à Windows, comme pouvoir utiliser les caractères \:*?"<>|
dans un nom de fichier. Le problème, bien sûr, est que Windows n'accepte pas ces caractères dans les noms de fichiers, et donc Samba doit traduire le nom de fichier en quelque chose de plus acceptable. Cependant, je trouve que la façon dont cela fonctionne est désagréable.
Le nom de fichier Episode 182 - Exorcist 2: The Heretic.mp4
par exemple se transforme en E4Q82R~Y.MP4
. C'est une terrible "correction". Existe-t-il un moyen de rendre la mutilation de Samba un peu plus conviviale pour les humains? Est-il possible de le "corriger" à quelque chose comme à la Episode 182 - Exorcist 2_ The Heretic.mp4
place, où les caractères illégaux sont simplement substitués?
Samba 4.1.4-Debian
.Réponses:
mangled map
est désormais obsolète et ne fonctionnera plus dans les nouvelles versions de Samba.Vous pouvez utiliser vfs_catia pour résoudre le problème. Ajoutez les lignes suivantes à smb.conf:
Le mappage est spécifié avec des codes de caractères hexadécimaux préfixés 0x séparés par deux points. Le mappage fourni remappera les caractères illégaux aux sosies Unicode qui ne seront probablement pas utilisés dans n'importe quelle langue.
:? * <> "| \
∶ ʔ ∗ ❮ ❯ ʺ ∣ ⧹
Le code peut être placé sous
[global]
ou dans une[share]
section individuelle . Le placer[global]
peut affecter les performances.Notez que les caractères auxquels vous mappez ne peuvent pas être utilisés dans les noms de fichiers sur le serveur ou ils seront inaccessibles.
Exemple: un client Windows accédant à un fichier nommé
file❮name.txt
sur le serveur demanderafile<name.txt
au serveur en raison du mappage, ce qui entraînera une erreur de fichier introuvable.la source
0x3a:0x7e 0x3f:0x5e
ainsi et devient .:
~
?
^
Dans ce lien, vous pouvez voir les options de mangling. Je pense que vous devez d'abord désactiver l'option:
Après cela, je suppose que les noms devraient être plus beaux ...
Pour remplacer les deux points, par exemple, utilisez cette ligne:
Vous pouvez ajouter d'autres règles de remplacement comme celle-ci:
(remplace également toute occurrence de foo par bar)
la source
tes:t.txt
dans le Bloc-notes, par exemple, on me dit "Impossible de trouver le fichier [...] \ tes: t.txt". Il en va de même pour les autres fichiers "illégaux" dans leurs applications respectives.mangled map
a été supprimé de Samba. D'après ce que je peux dire après un petit coup d'œil, il a été supprimé il y a des années. Voici ce quelog.smbd
dit mon fichier si j'essaie de l'utiliser:Ignoring unknown parameter "mangled map"