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.
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.
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
Elija "modo avanzado" y marque tanto catia como fruta en "objetos VFS"
Establezca el parámetro auxiliar en fruit:encoding = native
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 = no
la[global]
sección/etc/samba/smb.conf
y reiniciar Samba solucionó el problema.fuente
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
fruit:encoding = native
Luego vaya a Servicios y reinicie SMB
fuente