samba cómo mostrar archivos con dos puntos en sus nombres?

13

Samba no muestra los archivos correctamente cuando contienen dos puntos.

Nombre de archivo original: test:file.txt

Nombre para mostrar en Windows: T8S6CH~R.TXT

¿Cómo puedo arreglarlo?

Información:

Linux: SLES 11 SP 3

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

Peter VARGA
fuente

Respuestas:

13

El problema con la mangled namesopción de Samba es que ninguna configuración es ideal. Puede tener nombres que no están maltratados, pero no se puede acceder a ellos de ninguna manera porque contienen caracteres ilegales, o nombres que están maltratados en el formato DOS 8.3 y, por lo tanto, casi ilegibles.

Afortunadamente, hay (ahora) un módulo VFS llamadocatia que proporcionará asignaciones de caracteres personalizados. En particular, es posible mapear los caracteres considerados ilegales en los nombres de archivo de Windows.

En la [global]sección coloca estas líneas:

    # 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

En cada [share_name]sección agregue esta línea siguiente (si ya tiene una vfs objectslínea, simplemente agregue catiaa la lista):

    vfs objects = catia

En mi sistema basado en Debian, este módulo de objeto VFS se instaló como parte del paquete estándar.

Un ejemplo de un nombre de archivo que está asignado por esta configuración es 2017-12-24 12:23.txt. El uso mangled names = yesmuestra este archivo como 2BB0Y9~4.TXT. En su vfs objects = catialugar, usar este nombre de archivo se muestra como 2017-12-24 12÷23.txt. No es perfecto pero es bastante bueno. Y lo más importante, puedo acceder desde aplicaciones de Windows.

roaima
fuente
1
Ver ⁚ ∶ ׃ ꞉ para otros caracteres que se parecen a dos puntos ASCII.
Stéphane Chazelas
@ StéphaneChazelas, siéntase libre de enviarlo como sugerencia al equipo de desarrollo de Samba. Acabo de tomar su lista sugerida.
roaima
Cuando comparto una carpeta con Nautilus, la carpeta, obviamente, no aparece en /etc/samba/smb.conf. ¿Cómo puedo aplicar su solución en este escenario?
Hans Deragon
Esto es perfecto, gracias.
Será
5

Por alguna razón, Samba comenzó a destrozar los nombres de archivo que contienen dos puntos. Hasta ahora no pude encontrar nada con respecto a este comportamiento en Internet.

La solución es muy simple. Agregar mangled names = nola [global]sección /etc/samba/smb.confy reiniciar Samba solucionó el problema.

Peter VARGA
fuente
¡Genial saber eso! +1
Luciano Andress Martini
44
Esta solución está incompleta. No se muestran archivos con caracteres ilegales de Windows como ':'. Ver la solución de roaima.
Hans Deragon,
1

Caracteres especiales signo de interrogación? \ <> * etc. son ilegales en los nombres de archivos de Windows y siempre evito usarlos.

Sin embargo, no tengo ningún problema con estos caracteres usando mi MacOS Catalina accediendo a mi configuración FreeNAS-11.3-U1 y SMB / Samba. No estoy seguro de por qué esta configuración no es predeterminada, pero tendrá que seguir estos pasos para que funcione perfectamente con MacOS.

En FreeNAS webUI, vaya a Compartir> SMB> Editar

  1. Elija "modo avanzado" y marque tanto catia como fruta en "objetos VFS"
  2. Establezca el parámetro auxiliar en fruit:encoding = native

Luego vaya a Servicios y reinicie SMB

trommegutten
fuente