Das Problem mit Sambas mangled namesOption 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 objectsZeile haben, fügen Sie sie einfach catiader 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 = yeswird diese Datei als angezeigt 2BB0Y9~4.TXT. Bei Verwendung von vfs objects = catiastattdessen 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.
Weitere Zeichen, die wie ein ASCII-Doppelpunkt aussehen, finden Sie unter ⁚ ∶ ׃ ꞉.
Stéphane Chazelas
@ StéphaneChazelas Bitte senden Sie dies auch als Vorschlag an das Samba-Entwicklungsteam. Ich habe gerade ihre vorgeschlagene Liste genommen.
Roaima
Wenn ich einen Ordner für Nautilus freigebe, wird der Ordner offensichtlich nicht in /etc/samba/smb.conf angezeigt. Wie kann ich Ihre Lösung in diesem Szenario anwenden?
Hans Deragon
Das ist perfekt, danke.
Wird
5
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 = nodes [global]Abschnitts zu /etc/samba/smb.confund Neustarten von Samba wurde das Problem behoben.
Diese Lösung ist unvollständig. Dateien mit unzulässigen Windows-Zeichen wie ':' werden nicht angezeigt. Siehe Roaimas Lösung.
Hans Deragon
1
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
Wählen Sie "Erweiterter Modus" und markieren Sie Catia und Fruit in "VFS-Objekten".
Stellen Sie den Hilfsparameter auf fruit:encoding = native
Gehen Sie dann zu Services und starten Sie SMB neu
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.quelle
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
quelle