1 votos

¿Cómo resolver el fallo de iOS Files.app para conectarse al servidor SMB? "Operación no admitida" / "ya existe un archivo con el mismo nombre".

Me he encontrado con al menos dos problemas frustrantes al intentar conectarme a un nuevo servidor SMB con la aplicación iOS files.app (menú principal (...) -> conectar con el servidor).

Esto es con iOS 15.3 (el más reciente en el momento de escribir este artículo); estos problemas también se experimentaron con versiones anteriores de iOS.

Problema 1: "La operación no ha podido completarse: Operación no soportada"

Esto sucede con un servidor configurado para restringirse a SMB3 y superiores (SMB3, después de todo, tiene "sólo" existe desde 2012 ).

Los registros del servidor informan de algo parecido a:

smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NOT_SUPPORTED] || at ../../source3/smbd/smb2_negprot.c

Problema 2: "El archivo no se ha podido guardar porque ya existe un archivo con el mismo nombre"

Me he encontrado con este problema varias veces, normalmente al migrar de un antiguo servidor SMB a uno nuevo.

La misma cuestión se planteó en Foros de Apple con un buen número de "yo también", pero no se ha aportado ninguna solución viable...

Pregunta: ¿hay alguna solución/corrección para estos "caprichos" de files.app?

3voto

kamran Puntos 14

Para solucionar ambos problemas de forma óptima, necesitarás acceso (de administrador) a la configuración de tu servidor SMB; aunque existe una solución para el problema 2 si no lo tienes.

Número 1

Aunque files.app parece realizar la mayor parte de su tráfico a través del SMB3 algunas actividades iniciales de conexión sólo parecen funcionar si el servidor acepta SMB2 peticiones. Para ello es necesario ajustar la configuración del servidor (véase más adelante).

Número 2

Solución 1: eliminar la conexión "servidor" antigua/que no funciona

Eliminar una conexión a un servidor anterior que proporciona un recurso compartido con el mismo nombre (files.app -> menú principal (...) -> conectar con el servidor -> (i) -> eliminar) resuelve el problema.

Esta puede ser una solución en caso de que no tengas acceso a la configuración del servidor, aunque sólo podrás acceder a uno de los servidores/compartimentos "en conflicto" a la vez, lo que podría ser frustrante.

Solución 2: garantizar un nombre de recurso compartido SMB único en todos los servidores

Una mejor solución es asegurarse de que el nombre del recurso compartido SMB es único en todas las conexiones almacenadas/recordadas en su files.app. En mi caso, la configuración estándar de mis servidores era llamarles algo como smbshare Al intentar acceder a más de un servidor con el mismo nombre de recurso compartido, se produce el problema, que parece un error en files.app, en mi opinión (los nombres de recurso compartido deberían estar calificados por el nombre del servidor).

Cómo ajustar la configuración de un servidor SMB para resolver ambos problemas

El procedimiento y el ejemplo siguientes están basados en Ubuntu, pero deberían funcionar de forma similar en otros derivados de *NIX/*BSD (y NAS) que utilicen Samba como software de servidor SMB, aunque posiblemente con diferentes rutas/nombres de archivo, etc:

  1. Inicie sesión en su servidor SMB y ejecute sudo -i para acceder a root privilegios.
  2. Editar /etc/samba/smb.conf
  3. Para número 1 Querrá asegurarse de que server min protocol (normalmente se encuentra en el [global] ) se establece en SMB2 .
  4. Para número 2 localice el nombre de la acción (colocado entre paréntesis; en mi ejemplo [smbshare] ) y cambiarlo por algo único. Por ejemplo, incluyendo el nombre del host, que puede ser stubbed como %h si quiere mantener sus archivos de configuración estandarizados.
  5. systemctl restart smbd

Un ejemplo de smb.conf que funciona para la aplicación iOS files.app

He aquí un ejemplo smb.conf que funciona bien con iOS files.app y se esfuerza por ser razonablemente seguro (SMB es un vector de ataque bien conocido !). Los comentarios, sobre todo si mejoran la seguridad, son bienvenidos.

[global]
        server string = %h
        server role = standalone server
        interfaces = lo eth0
        bind interfaces only = yes
        disable netbios = yes
        smb ports = 445
        log file = /var/log/samba/smb.log
#        log level = 3
        max log size = 1000
        map to guest = bad user
        smb encrypt = required
        server min protocol = SMB2
        client min protocol = SMB3

[%h]
        valid users = MY_SMB_USER
        path = /home/MY_SMB_USER/SHARE
        available = yes
        browseable = yes
        read only = no
        force create mode = 0660
        force directory mode = 2770
  • [%h] utiliza el nombre del servidor como nombre del recurso compartido, lo que resuelve el problema 2 por sí solo. Sólo tiene que ser algo único para solucionar el error de file.app.
  • log level = 3 (o superior) es útil para aumentar la verbosidad de los registros para solucionar problemas.
  • Tendrá que ajustar interfaces = y MY_SMB_USER para adaptarse a sus circunstancias ( ip link show es tu amigo para descubrir los nombres de tus interfaces). interfaces Las restricciones pueden omitirse, pero definitivamente no se recomienda en una máquina que se enfrenta directamente a Internet.

Nota sobre el sistema operativo del servidor

Aunque los ejemplos anteriores se refieren a un servidor SMB de Ubuntu, el mismo problema parece existir con los servidores de Windows (por lo que los errores parecen estar en la aplicación files.app de iOS), como se evidencia en la pregunta de los foros de Apple enlazada en la pregunta.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X