Samba, wie man Dateien mit Doppelpunkt in ihren Namen anzeigt?

11

Samba zeigt Dateien nicht korrekt an, wenn sie einen Doppelpunkt enthalten.

Ursprünglicher Dateiname: test:file.txt

Anzeigename unter Windows: T8S6CH~R.TXT

Wie kann ich es reparieren?

Die Info:

Linux: SLES 11 SP 3

Samba: Version 3.6.3-0.33.39.1-3128-SUSE-CODE11-x86_64

Al Bundy
quelle

Antworten:

11

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.

Roaima
quelle
1
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.

Al Bundy
quelle
Schön das zu wissen! +1
Luciano Andress Martini
3
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

  1. Wählen Sie "Erweiterter Modus" und markieren Sie Catia und Fruit in "VFS-Objekten".
  2. Stellen Sie den Hilfsparameter auf fruit:encoding = native

Gehen Sie dann zu Services und starten Sie SMB neu

trommegutten
quelle