El montaje de la unidad cifs proporciona: error de montaje (22): argumento no válido


44

Estoy tratando de correr:

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

Sin embargo, sigo recibiendo el siguiente error:

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

¿Qué estoy haciendo mal?


1
Dos posibles problemas: su fuente es una URL que puede no resolverse o no anuncia Samba; y, el uid / gid debe expresarse numéricamente. ¿Has leído la manpágina referida ?
douggro

3
Mount realmente debería devolver un mejor mensaje de error. Saber qué argumento es inválido haría que este mensaje de error fuera mucho más útil.
Gregory Arenius

1
Mount da un error genérico porque los detalles están en el registro. Como se dice a continuación, use tail -f /var/log/kern.log para comprender lo que está sucediendo.
Sam

1
dmesg | taille informa un poco más sobre qué opción le está causando problemas.
HongboZhu

Respuestas:


63

tal vez esto ayude con esto, mount error(22): Invalid argument... el posible error es el argumento / s (modo) en el comando de montaje.

  1. revise sus registros de los errores encontrados.

    tail -f  /var/log/kern.log 
    
  2. eliminar el argumento no válido


99
Esto funcionó para mí. Encontré el error CIFS not working, kernel upgrade:No dialect specified on mounty lo resolví [agregando] vers=1.0a mi / etc / fstab ( bbs.archlinux.org/viewtopic.php?id=230952 ). Sospecho que es causado por el uso del kernel 4.13.
blaha

Dios, gracias a Dios por stackoverflow. Mismo problema en ubuntu. Agregué vers = 2.0 y funciona. Mount.cifs actual está en 6.4. Probablemente algunas mejoras en las credenciales pero no cavar en CIFS ahora ...
dturvene

6

Tuve el mismo problema en Arch Linux, con este mensaje en el registro:

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

Para mí, la solución era especificar una versión anterior de cifs (por defecto era 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

3

Otra posible causa es la presencia de sec=ntlmin /etc/fstaby su incompatibilidad con los nuevos protocolos SMB como SMB3.

Si bien no es el caso del OP, esto también puede causar mount error(22): Invalid argumenterrores, como lo hizo para mí después de actualizar un servidor antiguo.

Aunque kern.logincluye una sugerencia specify vers=1.0 on mount, puede ser más seguro eliminarlo o cambiarlo sec=ntlm. Quizás use los valores predeterminados para permitir la negociación automática de la versión y seguridad de SMB, o especifique opciones compatibles como vers=3.0,sec=ntlmssp.

Obviamente, esto depende de las características de su servidor SMB, pero trataría de evitarlo a vers=1.0menos que fuera necesario.


2

Estaba usando una URL incorrecta. Debería haber sido://user.my-backup.com/backup


2

En mi caso, este problema fue causado porque había montado un directorio lleno de enlaces simbólicos. Después de investigar los enlaces simbólicos en Windows, obtuve sus rutas "reales" y las monté en su lugar.


2

Puede agregar la información de versión para SMB para resolver el problema. Lo que hice fue agregar vers = 1.0. Esta es la versión 1 de SMB que funciona con todos los controladores smb. Para su caso se verá más o menos así

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

1

Después de actualizar a Jessie Debian, el paquete debe haber cambiado. Eliminé guid=0la siguiente fstabmontura y todo volvió a funcionar correctamente.

//x.x.x.x/General/  /usr/local/share/general cifs uid=0,guid=0,rw,credentials=/etc/gen-cifspasswd 0 0
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.