3 votes

Disque Windows monté : liste de répertoires incomplète

J'ai une série de disques partagés Windows montés sur ma machine Linux. J'ai des lignes comme celle-ci dans /etc/fstab:

//10.5.0.136/i /media/i cifs credentials=/home/trosendal/.smbcredentials,vers=2.0,iocharset=utf8,gid=1000,uid=1000,file_mode=0777,dir_mode=0777 0 0

pour monter chaque disque. Cela a fonctionné à merveille pendant des années et maintenant j'ai une bizarrerie où j'obtiens une liste incomplète des fichiers de manière similaire à ce qui a été décrit ici: Liste incomplète des répertoires lors de l'accès à un partage. Voici une illustration du problème:

trosendal@trosendal-ThinkPad-T480:/media/i$ ls
BKT  DOA  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL
trosendal@trosendal-ThinkPad-T480:/media/i$ cd ESS
trosendal@trosendal-ThinkPad-T480:/media/i/ESS$ ls
'Arkiv X'                   hso
 brevlåda                  'Model Comparison.ppt'
...

Remarquez que le répertoire ESS est manquant mais je peux y accéder. Il en va de même dans emacs (dired) ou dans l'explorateur de fichiers gnome. Certains répertoires manquent et d'autres non. Des idées?

3voto

Murch Points 192

Le problème était apparemment lié à la version du protocole cifs que j'avais sélectionnée dans fstab. Selon un extrait du manuel

 $ man mount.cifs

 vers=arg
          Version du protocole SMB. Les valeurs autorisées sont :

          · 1.0 - Le protocole classique CIFS/SMBv1.

          · 2.0 - Le protocole SMBv2.002. Il a été initialement introduit dans Windows Vista Service Pack 1 et Windows Server 2008. Notez que la version initiale de Windows Vista parlait un dialecte légèrement différent (2.000) qui n'est pas pris en charge.

          · 2.1 - Le protocole SMBv2.1 qui a été introduit dans Microsoft Windows 7 et Windows Server 2008R2.

          · 3.0 - Le protocole SMBv3.0 qui a été introduit dans Microsoft Windows 8 et Windows Server 2012.

          · 3.1.1 ou 3.11 - Le protocole SMBv3.1.1 qui a été introduit dans Microsoft Windows Server 2016.

          Notez également que alors que cette option régit la version du protocole utilisée, toutes les fonctionnalités de chaque version ne sont pas disponibles.

          La valeur par défaut depuis la version 4.13.5 est que le client et le serveur négocient la version la plus élevée possible supérieure ou égale à 2.1. Dans les noyaux antérieurs à la version 4.13, la valeur par défaut était 1.0. Pour les noyaux entre les versions 4.13 et 4.13.5, la valeur par défaut est 3.0.

Je ne suis pas sûr de la version du serveur utilisée par l'administrateur de ce disque, j'ai donc dû juste deviner à un moment donné et ne pas remarquer les conséquences. Voici une illustration de la différence lorsque je sélectionne vers=2.0 comme dans la ligne fstab que j'ai écrite dans ma question ci-dessus :

trosendal@trosendal-ThinkPad-T480:~$ cd /media/i/
trosendal@trosendal-ThinkPad-T480:/media/i$ ls
BKT  DOA  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL

Ensuite, si je passe à vers=1.0, j'obtiens ce que je veux :

trosendal@trosendal-ThinkPad-T480:/$ ls /media/i/
trosendal@trosendal-ThinkPad-T480:/$ ls /media/i/
BKT  DOA  ESS  GDK  KMF  KOM  KVT  MIK  POV  VES  VIP  VOL

Je dois admettre que cette solution semble un peu bricolée car je ne comprends pas comment déterminer laquelle est correcte autrement que par essais et erreurs. Toute indication sur la manière de résoudre une telle situation est la bienvenue.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X