Cuando se sirven archivos que contienen caracteres especiales como "() ?:" en el nombre del archivo a través de Samba, los nombres se transforman en un formato irreconocible. Por ejemplo, un archivo
my_file:_(important).txt
se muestra como
M43J1E~0.TXT
¿Hay alguna manera de evitar este comportamiento (sin renombrar los archivos, obviamente)? Supongo que la codificación de caracteres no tiene la culpa porque varios caracteres UTF-8 parecen funcionar bien.
Respuestas:
Windows no permite algunos caracteres en los nombres de archivo que permite Unix. Samba "destroza" los nombres de los archivos para que cumplan con las restricciones de Windows. Puede verificar el archivo
/etc/smb.conf
o/etc/samba/smb.conf
ver qué configuraciones están en su lugar. Para mostrar esa configuración más los valores predeterminados, use este comando:Para reducir eso un poco:
Vea esta página para más información. Además, vea aproximadamente a la mitad de esta página (la misma información que el enlace anterior).
fuente
Yo uso una carpeta compartida en OS-X y Windows. Algunos archivos tienen el mismo problema, ya que se dividen en lo siguiente: usan caracteres en el nombre del archivo, que no es compatible con Windows.
Ver: http://support.microsoft.com/kb/177506
Enumera los caracteres, no admitidos por Windows en archivos o directorios. Supongo que Samba usa la misma lista de caracteres cuando lista archivos y directorios.
Un poco más abajo, escribieron:
Pero, personalmente, tomé la lista de caracteres no permitidos como referencia para informar a algunos clientes aquí;)
fuente
Tengo una computadora portátil Apple Macbook Pro con OS X 10.11 de 64 bits "El Capitan" con Samba 3 que instalé a través de Macports .
También tengo una computadora portátil Dell Inspiron con GNU / Linux XUbuntu 16.04 de 64 bits "Xenial Xerus" con Samba 3 que instalé a través de APT.
Ambas máquinas tienen carpetas compartidas en red y usan Samba para comunicarse en mi WLAN (LAN inalámbrica).
Mis dos sistemas están en portugués brasileño. Por lo tanto, uso caracteres especiales como ç , á , ã , â , ô , é , ó etcétera.
Cuando uso mi portátil Linux para acceder a mis acciones OS X Samba, todas las cadenas se muestran correctamente: palabras como maçã , las ONU y Bênção se muestran correctamente. También se muestran archivos y carpetas con nombres largos, y sus nombres se muestran correctamente. Por lo tanto, el servidor Samba que se ejecuta en OS X ya está configurado correctamente ...
... pero las cosas no funcionaban al revés: si usaba la aplicación Finder en OS X para acceder a mis recursos compartidos de Linux Samba, no se mostraban todos los archivos y carpetas que tenían al menos uno de esos caracteres especiales (permanecían invisibles para yo), y los nombres largos de archivos y carpetas se convirtieron en nombres cortos extraños. Por lo tanto, había algo mal con el servidor Samba ejecutándose en mi máquina Linux.
=> En mi caso, lo que resolvió este problema fue agregar las siguientes líneas a la
[global]
sección dentro delsmb.conf
archivo en mi máquina Linux:Después de eso, abrí una ventana de terminal de shell y reinicié el servidor Linux Samba con este comando:
... que puede ser reemplazado por este otro comando (en caso de que el comando anterior no funcione en su distribución de Linux):
Después de reiniciar el servidor Linux Samba, la aplicación Finder en OS X finalmente mostró correctamente todos los archivos y carpetas que anteriormente estaban ocultos debido a que sus nombres tenían uno o más caracteres especiales. Los nombres destrozados ("acortados") también fueron "no alterados".
Notas al pie :
smb.conf
archivo es/etc/samba/smb.conf
smb.conf
archivo almacenado en la ubicación estándar/etc/samba/
: hay varias formas diferentes de editar elsmb.conf
archivo. Por ejemplo, si usted no está utilizando un entorno de escritorio (por ejemplo, el sistema sólo tiene un terminal de concha, sin ventanas) puede instalar el Nano editor de texto, mediante la emisión de un comando comosudo apt-get install nano -y
osudo dnf -b -y install nano
o algo más (dependiendo de la distro Linux están usando), y luego ejecutarsudo nano /etc/samba/smb.conf
. En caso de que esté utilizando un entorno de escritorio, puede instalar un editor gráfico de texto como GNOME Editar , mediante la emisión de un comando comosudo apt-get install gedit -y
osudo dnf -b -y install gedit
o algo más (dependiendo de la distribución Linux que esté utilizando), y luego ejecutarsudo gedit /etc/samba/smb.conf
.display charset
parámetro está en desuso.dos charset
parámetro no admite elUTF-8
argumento. Por lo tanto, debe usar el argumento predeterminadoCP850
.mangled names = no
indica al servidor Samba que no acorte nombres largos de archivos y carpetas. Por lo tanto, debido a que el cliente Samba simplemente replica al usuario lo que el servidor Samba le ha proporcionado al cliente, una vez que el servidor está configurado correctamente, el cliente ya no mostrará al usuario ningún nombre abreviado.fuente
de la documentación de samba puede usar estos:
fuente