Estoy tratando de montar un recurso compartido CIFS de NetApp en uno de nuestros servidores y sigo recibiendo "Permiso denegado" impreso en stderr e NT_STATUS_WRONG_PASSWORD
impreso en ejecución dmesg
.
root@xxxehpvld05 ~ $ mount.cifs -vv //zhp-nas.xxx.com/perspectives /mnt/secure/cifs -o credentials=/etc/cifs.creds
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
root@xxxehpvld05 ~ $ dmesg | tail
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
Status code returned 0xc000006a NT_STATUS_WRONG_PASSWORD
CIFS VFS: Send error in SessSetup = -13
CIFS VFS: cifs_mount failed w/return code = -13
El smbclient
comando, sin embargo funciona sin problema, utilizando el mismo archivo de credenciales exactas:
root@xxxehpvld05 ~ $ smbclient -L //zhp-nas.xxx.com/perspectives -A /etc/cifs.creds
Domain=[XXX] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
IPC$ IPC Remote IPC
ZHPSubmit-dev Disk
[...snip...]
Parece que si uno funciona, el otro también debería hacerlo especialmente porque el archivo de credenciales también especifica el nombre de dominio.
cifs-utils
paquete (Debian) y resolvió el problema. Pasé un poco depurando esto porque no esperaba ningún soporte sin haber instalado el paquete, así que supuse que sí. Esperaba algo como "sistema de archivos desconocido" de mount, pero eso no sucedió.Respuestas:
Sin más información, no puedo decir con certeza, pero he visto este problema al conectarme a un servidor de Windows anterior que ejecutaba una versión de protocolo anterior. Recuerde que CIFS se considera un "Dialecto" (tipo) de SMB. Hay otros tipos y las configuraciones anteriores no usan CIFS.
Básicamente es como decir que dos personas están hablando. Un español y un inglés, y estás tratando de obligar al hablante de inglés a entender el español cuando claramente no lo hace.
SMBclient utiliza un dielect diferente para las negociaciones de seguridad. (o al menos detecta de manera diferente).
Tratar
y mira lo que pasa. (sec = ntlm es la parte importante)
fuente
ntlm
ontlmv2
. No estoy seguro de cómo solucionarlo, así que si necesita más información, avíseme y actualizaré la pregunta. ¿Podría haber algunos controles de acceso en el lado de NetApp que el chico de SAN perdió?Jugando con los comandos, encontré una posible razón:
Desde la página de manual de smbclient:
Desde la página de manual de mount.cifs:
Luego creé dos archivos de credenciales, uno con espacios, como se muestra en el primer fragmento y otro sin él y los nombré
creds
ycreds.spacy
.El gran enfrentamiento:
Con
creds
archivo:Buen silencio, sin errores.
Con
creds.spacy
archivo:Entonces, obviamente, su archivo de credenciales contiene espacios, que mount.cifs no entiende.
Además
smbclient
, no importa si hay espacios.creds
ycreds.spacy
no causó ningún urogallo.fuente
smbclient
pero fallamount.cifs
. Una vez que cambié el orden al correcto como se especifica en la documentación que citó aquí, comenzó a funcionar. Parece que estos (tanto el mal manejo de espacios como el problema de ordenar) son errores terribles que deberían ser fácilmente reparables por quien sea que los mantengamount.cifs
.Agregar sec = ntlm me corrigió el problema. Tengo un NAS más antiguo (netgear stora). La seguridad predeterminada para cifs en núcleos recientes es ntlmssp
fuente
Otra posibilidad que descubrí al intentar montar un recurso compartido hoy es que
smbmount
admite lausername=DOMAIN\\user
sintaxis para proporcionar a un usuario en un dominio como credencial.Para
mount.cifs
(ymount -t cifs
) para el trabajo, estos dos tienen que ser proporcionado por separado:-o username=user,password=pass,dom=DOMAIN
.fuente
sec=ntlm
ydom=DOMAIN
Como explicó user55518, probablemente tenga espacios en su archivo de credenciales incluso si no los ve. Si editó su archivo de credenciales en Windows, probablemente tenga
\r
al final de sus líneas y eso arroja el error 13.fuente
Quiero agradecerles a todos !!! para este problema, ¡Realmente me ayudó mucho !, también encontré información importante sobre el parámetro "sec = ntlm", así que dejo el enlace si alguno de ustedes está interesado en ello, líneas a continuación:
Microsoft NTLM
Estaba tratando de montar un directorio compartido desde el escritorio de Windows 7, pero fue imposible agregar el parámetro "sec = ntlm" y funciona, y algunos detalles importantes podrían ser que no consideré que mi escritorio de Windows 7 estaba en un dominio, así que creo que fue el detalle más importante que debo considerar. por lo tanto, ¡funciona !, ¡realmente muchas gracias a todos ustedes, bendiciones! y buen rollo! :RE
fuente
En mi caso, solo necesitaba agregar la opción
vers=3.0
(CIFS era la versión 1, que ya no es compatible desde el kernel 4.13, así que cambié a SMBv3 en el servidor) y aún así tuve que reiniciar para que funcione, este es mi monte la línea/etc/fstab
ahora:Mi archivo de credenciales:
En realidad,
domain
no es necesario, pero es la opción correcta para usar de acuerdo con la página de manual de mount.cifs ahora.fuente
He estado luchando con esto por un tiempo.
Con los siguientes errores:
aquí ayudó a establecer la opción vers = 1.0, luego informó
y resultó ser "caracteres extra en mi archivo de credenciales
donde originalmente tuve:
donde debería estar
fuente