Pour résoudre les deux problèmes de manière optimale, vous aurez besoin d'accéder au serveur SMB en tant qu'administrateur; bien qu'il existe une solution de contournement pour le Problème 2 si vous n'avez pas accès.
Problème 1
Malgré que files.app semble effectuer la plupart de son trafic via le protocole SMB3
, certaines activités de connexion initiale semblent fonctionner uniquement si le serveur accepte les requêtes SMB2
. Cela nécessite d'ajuster la configuration du serveur (voir ci-dessous).
Problème 2
Solution 1: supprimer la connexion ancienne/conflictuelle au "serveur"
Supprimer une connexion à un ancien serveur qui fournit un partage avec le même nom (files.app -> menu principal (...) -> connecter au serveur -> (i) -> Supprimer) résout le problème.
Cela peut être une solution de contournement si vous n'avez pas accès à la configuration du serveur, même si vous ne pourrez accéder qu'à l'un des serveurs/partages "conflictuels" à la fois, ce qui peut être frustrant.
Solution 2: s'assurer que le nom du partage SMB est unique entre les serveurs
Une meilleure solution de contournement est de veiller à ce que le nom du partage SMB soit unique parmi les connexions stockées/souvenues dans votre files.app. Dans mon cas, la configuration standard de mes serveurs était de les appeler quelque chose comme smbshare
; tenter d'accéder à plus d'un serveur avec le même nom de partage provoque le problème, ce qui semble être un bogue dans files.app à mon avis (les noms de partage devraient être qualifiés par le nom du serveur).
Comment ajuster la configuration d'un serveur SMB pour résoudre les deux problèmes
La procédure et l'exemple ci-dessous sont basés sur Ubuntu mais devraient fonctionner de manière similaire sur d'autres dérivés *NIX/*BSD (et NAS) qui utilisent Samba comme logiciel de serveur SMB, bien que les chemins/noms de fichiers puissent être différents :
- Connectez-vous à votre serveur SMB et exécutez
sudo -i
pour accéder aux privilèges root
.
- Modifiez
/etc/samba/smb.conf
- Pour le problème 1, vous voudrez vous assurer que
server min protocol
(généralement trouvé dans la section [global]
) est défini sur SMB2
.
- Pour le problème 2, localisez le nom du partage (placé entre crochets; dans mon exemple
[smbshare]
) et changez-le en quelque chose d'unique. Par exemple, en incluant le nom de l'hôte, qui peut être raccourci en %h
si vous préférez standardiser vos fichiers de configuration.
systemctl restart smbd
Un exemple de smb.conf qui fonctionne avec l'application files iOS
Voici un exemple de smb.conf
qui fonctionne bien avec l'application files iOS et qui vise à être raisonnablement sécurisé (SMB est un vecteur d'attaque bien connu!). Les retours - particulièrement s'ils améliorent la sécurité - sont les bienvenus.
[global]
server string = %h
server role = serveur autonome
interfaces = lo eth0
bind interfaces only = oui
disable netbios = oui
smb ports = 445
log file = /var/log/samba/smb.log
# log level = 3
max log size = 1000
map to guest = bad user
smb encrypt = requis
server min protocol = SMB2
client min protocol = SMB3
[%h]
valid users = MON_UTILISATEUR_SMB
path = /home/MON_UTILISATEUR_SMB/PARTAGE
disponible = oui
consultable = oui
lecture seule = non
force create mode = 0660
force directory mode = 2770
[%h]
utilise le nom du serveur comme nom du partage, ce qui résout le problème 2 à lui seul. Il doit simplement être quelque chose d'unique pour contourner le bogue plutôt choquant de files.app.
log level = 3
(ou plus) est utile pour augmenter la verbosité des journaux afin de résoudre les problèmes.
- Vous devrez ajuster
interfaces =
et MON_UTILISATEUR_SMB
selon votre situation (ip link show
est votre allié pour découvrir les noms de vos interfaces). Il est possible de laisser de côté les restrictions sur interfaces
, mais ce n'est définitivement pas recommandé sur une machine directement exposée à Internet.
Remarque sur le système d'exploitation du serveur
Même si les exemples ci-dessus font référence à un serveur SMB Ubuntu, les mêmes problème(s) semblent exister avec les serveurs Windows (donc les bugs semblent être dans l'application files iOS), comme en témoigne la question des forums Apple liée dans la question.