|
Description de la tâche
Bonjour à toute l’équipe Freebox,
Je souhaitais vous faire un retour un “bug” qui ne vient pas forcément de la Freebox mais de comment iOS à apparement changer sa méthode de connexion côté client sur le serveur SMB.
[Problème rencontré :]
En effet, depuis iOS18, on ne peut se connecter aujourd’hui qu’en lecture seule (R) et non lecture-écriture (RW) depuis iOS et l’application native, Fichier (File). Ce problème n’existe pas sur la pile SMB de macOS Séquoia (15.3.1) et est apparu depuis la première version d’iOS18. Il n’y avait aucun soucis sur iOS17 avec l’application Fichier. Je l’ai remonté en fin d’année 2024 sur https:// https://www.apple.com/feedback/, sans succès depuis, sachant que de leur point de vue ce n’est peut-être pas un problème mais une mesure de sécurité supplémentaire ?
Dans l’application Fichier, vous pouvez ajouter que ce soit en local (xxx.freeboxos.fr) ou en distant (WireGuard), l’accès au disque dur de la Freebox c’est qui est très pratique en tant que NAS à part entière.
[Solution :]
Source : https://discussions.apple.com/thread/255775451
Ajouter cette ligne dans la configuration de Samba de la Freebox.
vfs objects = streams_xattr
La directive vfs objects = streams_xattr dans le fichier de configuration de Samba (smb.conf) permet d’activer un module VFS (Virtual File System) qui gère les flux alternatifs de données (ADS - Alternate Data Streams) via les attributs étendus (xattr).
Explication technique
1. SMB et les flux alternatifs
• SMB prend en charge les flux alternatifs, ce qui signifie qu’un fichier peut contenir des métadonnées ou des informations supplémentaires qui ne sont pas directement visibles dans le fichier principal.
2. streams_xattr et les attributs étendus
• Sur un serveur Samba, les systèmes de fichiers comme ext4, XFS ou Btrfs ne gèrent pas naturellement les flux alternatifs comme NTFS.
• streams_xattr simule cette fonctionnalité en stockant ces flux dans des attributs étendus (xattr).
• Sans cette configuration, certains clients SMB (notamment ceux d’Apple) peuvent rencontrer des problèmes lorsqu’ils tentent d’écrire ou de modifier des fichiers.
Pourquoi macOS Finder fonctionne et pas l’app Fichiers d’iOS ?
1. La différence vient de la manière dont macOS et iOS accèdent aux partages SMB :
• macOS Finder utilise une implémentation SMB plus avancée
• Finder gère mieux la négociation des capacités SMB.
• Il prend en charge une rétrocompatibilité avec différentes versions de SMB.
• Il semble ignorer l’absence de streams_xattr ou utiliser un autre mécanisme pour gérer les métadonnées.
2. L’app Fichiers d’iOS est plus restrictive
• Depuis iOS 18, Apple semble imposer des exigences plus strictes pour les flux alternatifs.
• Si streams_xattr n’est pas activé, iOS peut restreindre l’accès en lecture seule pour éviter toute corruption des métadonnées.
• Apple peut avoir renforcé la sécurité et les permissions, empêchant l’écriture si certaines extensions ne sont pas disponibles côté serveur.
Conclusion
• Sur un serveur SMB, ajouter vfs objects = streams_xattr permet à iOS de retrouver l’accès en écriture en gérant les flux alternatifs correctement.
• macOS Finder semble contourner le problème via un mécanisme différent ou une tolérance plus élevée aux différences entre serveurs SMB.
• Apple a peut-être mis en place un changement de protocole SMB dans iOS 18 qui impose des vérifications plus strictes des attributs de fichiers.
Il faudrait donc, je suppose, faire des tests pour voir si cela n’occasionne pas d’effets de bord sur des configurations classiques. Est-ce vous souhaiteriez l’ajouter par défaut dans la configuration SMB sans action de l’utilisateur ou ajouter une case à cocher si cela fonctionne sans régression notable dans Freebox OS / Partages de fichiers / Partage Windows / ajouter une case en-dessous de SMB2/SMB3, “Ajouter la compatibilité avec iOS” ?
Merci beaucoup pour votre aide et la mise en place de ce correctif, Jean-Philippe
|