Le montage du lecteur cifs donne: erreur de montage (22): argument invalide

44

J'essaye de courir:

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgres,file_mode=0660,dir_mode=0770

Cependant, je continue à avoir l'erreur suivante:

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Qu'est-ce que je fais mal?

Niels Kristian
la source
1
Deux problèmes possibles: votre source est une URL qui ne résoudra pas ou ne fera pas la publicité de Samba; et uid / gid doivent être exprimés numériquement. Avez-vous lu la manpage de référence ?
Douggro
3
Mount devrait vraiment renvoyer un meilleur message d'erreur. Savoir quel argument n'est pas valide rendrait ce message d'erreur d'autant plus utile.
Gregory Arenius
1
Mount génère une erreur générique car les détails sont dans le journal. Comme il est dit ci-dessous, utilisez tail -f /var/log/kern.log pour comprendre ce qui se passe.
Sam
1
dmesg | tailvous en dit un peu plus sur l'option qui vous pose problème.
HongboZhu

Réponses:

63

peut-être que cela aide à cela, mount error(22): Invalid argument... erreur possible est l'argument / s (mode) de la commande mount.

  1. Consultez vos journaux sur les erreurs rencontrées.

    tail -f  /var/log/kern.log 
    
  2. supprimer l'argument invalide

utilisateur278458
la source
9
Cela a fonctionné pour moi. J'ai trouvé l'erreur CIFS not working, kernel upgrade:No dialect specified on mountet l' ai résolue en [ajoutant] vers=1.0à mon / etc / fstab ( bbs.archlinux.org/viewtopic.php?id=230952 ). Je soupçonne que cela est dû à l’utilisation du noyau 4.13.
Blaha
Bon Dieu, merci pour stackoverflow. Même problème sur Ubuntu. J'ai ajouté vers = 2.0 et cela fonctionne. Le fichier mount.cifs actuel est à 6.4. Probablement quelques améliorations aux informations d'identification, mais pas à creuser dans CIFS maintenant ...
jeudi
6

J'ai eu le même problème sur Arch Linux, avec ce message dans le journal:

kernel: CIFS VFS: cifs_mount failed w/return code = -22

Pour moi, la solution consistait à spécifier une version plus ancienne de cifs (par défaut, c'était la version 3.0):

/etc/fstab:

//my-router/share /media/share cifs ver="2.1",rw,soft,uid=ele,gid=ele,file_mode=0770,dir_mode=0770,credentials=/etc/router-credentials.conf 0 0
Igor Avdeev
la source
3

Une autre cause possible est la présence de sec=ntlmin /etc/fstabet son incompatibilité avec les protocoles SMB plus récents tels que SMB3.

Bien que ce ne soit pas le cas du PO, cela peut aussi causer des mount error(22): Invalid argumenterreurs, comme ce fut le cas pour moi après la mise à niveau d'un ancien serveur.

Même si kern.loginclut une suggestion à specify vers=1.0 on mount, il peut être plus sûr de supprimer ou de changer à la sec=ntlmplace. Utilisez peut-être les valeurs par défaut pour autoriser la négociation automatique de la version et de la sécurité SMB, ou spécifiez des options compatibles telles que vers=3.0,sec=ntlmssp.

Évidemment, cela dépend des fonctionnalités de votre serveur SMB, mais je voudrais éviter, vers=1.0sauf si nécessaire.

drgrog
la source
2

J'utilisais une mauvaise URL. Cela aurait dû être://user.my-backup.com/backup

Niels Kristian
la source
2

Dans mon cas, ce problème était dû au fait que j'avais monté un répertoire rempli de liens symboliques. Après avoir étudié les liens symboliques dans Windows, j'ai obtenu leurs "vrais" chemins et les ai montés à la place.

pzkpfw
la source
2

Vous pouvez ajouter les informations de version pour SMB afin de résoudre le problème. Ce que j'ai fait est que j'ai ajouté vers = 1.0. C'est la version 1 de SMB qui fonctionne avec tous les pilotes smb. Pour votre cas, cela ressemblera à quelque chose comme ça

sudo mount -t cifs //user.my-backup.com /mnt/wal_drive -o iocharset=utf8,rw,vers=1.0,credentials=/etc/backupcredentials.txt,uid=postgres,gid=postgre ,file_mode=0660,dir_mode=0770
Siddharth Kaul
la source
1

Après la mise à niveau vers Jessie Debian, le paquet doit avoir été modifié. J'ai enlevé guid=0de la fstabmonture suivante et tout a fonctionné correctement à nouveau.

//x.x.x.x/General/  /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0
Benjamin Stewart
la source