Antworten:
Das Problem mit Sambas mangled names
Option ist, dass keine der Einstellungen ideal ist. Sie können Namen haben, die nicht entstellt sind, auf die jedoch in keiner Weise zugegriffen werden kann, da sie unzulässige Zeichen enthalten, oder Namen, die im DOS 8.3-Format entstellt sind und daher nahezu unlesbar sind.
Glücklicherweise gibt es (jetzt) ein VFS-Modul namens,catia
das benutzerdefinierte Zeichenzuordnungen bereitstellt. Insbesondere ist es möglich, die in Windows-Dateinamen als illegal geltenden Zeichen zuzuordnen.
In den [global]
Abschnitt setzen Sie diese Zeilen:
# 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
Fügen Sie in jedem [share_name]
Abschnitt diese nächste Zeile hinzu (wenn Sie bereits eine vfs objects
Zeile haben, fügen Sie sie einfach catia
der Liste hinzu):
vfs objects = catia
Auf meinem Debian-basierten System wurde dieses VFS-Objektmodul als Teil des Standardpakets installiert.
Ein Beispiel für einen Dateinamen, der durch diese Einstellung zugeordnet wird, ist 2017-12-24 12:23.txt
. Bei Verwendung mangled names = yes
wird diese Datei als angezeigt 2BB0Y9~4.TXT
. Bei Verwendung von vfs objects = catia
stattdessen wird dieser Dateiname als angezeigt 2017-12-24 12÷23.txt
. Es ist nicht perfekt, aber es ist ziemlich gut. Und vor allem kann ich über Windows-Anwendungen darauf zugreifen.
Aus irgendeinem Grund fing Samba an, die Dateinamen mit einem Doppelpunkt zu entstellen. Bisher konnte ich im Internet nichts zu diesem Verhalten finden.
Die Lösung ist sehr einfach. Durch Hinzufügen mangled names = no
des [global]
Abschnitts zu /etc/samba/smb.conf
und Neustarten von Samba wurde das Problem behoben.
Sonderzeichen Fragezeichen? \ <> * etc sind in Windows-Dateinamen illegal und ich vermeide es immer, sie zu verwenden.
Trotzdem habe ich kein Problem mit diesen Zeichen , wenn ich mit meinem macOS Catalina auf mein FreeNAS-11.3-U1- und SMB / Samba-Setup zugreife. Ich bin nicht sicher, warum diese Einstellung nicht standardmäßig ist, aber Sie müssen diese Schritte ausführen, damit sie unter MacOS einwandfrei funktioniert.
Gehen Sie in der FreeNAS-WebUI zu Freigabe> SMB> Bearbeiten
fruit:encoding = native
Gehen Sie dann zu Services und starten Sie SMB neu