Se encuentra que el comando mount.cifs no puede ejecutarse en un sistema gentoo con systemd
ae429-1105 etc # mount -t cifs //file.abc.edu.au/user /home/directory/path -o credentials=/etc/user,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Se ha confirmado la existencia y accesibilidad del punto de montaje / home / directorio / ruta y el archivo de credencial / etc / user . También se han habilitado los módulos y servicios relevantes, es decir,
ae429-1105 etc # lsmod |egrep 'fuse|cifs'
fuse 72589 5
cifs 312131 0
y
ae429-1105 etc # systemctl -t service -a |grep Samba
nmbd.service loaded active running Samba NetBIOS name server
smbd.service loaded active running Samba SMB/CIFS server
winbindd.service loaded inactive dead Samba Winbind daemon
Este problema ha sido identificado por muchos usuarios, por ejemplo , un ejemplo . TAMBIÉN TENGA EN CUENTA que el mismo comando ejecutado en mi sistema Ubuntu / debian puede montarse con éxito.
Otra información en la máquina problemática:
ae429-1105 etc # mount.cifs --version
mount.cifs version: 6.1
la versión de mount.cifs instalada en debian / ubuntu es 6.0
/home/directory/path
es seguro que existe en el entorno de Gentoo? Es extraño que no lo menciones, ya que esta es la primera pregunta obvia que surge.Respuestas:
Es posible que deba proporcionar la opción vers = al comando de montaje para forzar la versión 3.0 si está intentando montar un recurso compartido desde una versión más reciente de Windows. Uno de nuestros servidores de archivos se actualizó recientemente a 2012R2 y fue entonces cuando mi montaje dejó de funcionar. Establecerlo en vers = 3.0 solucionó el problema. Como la mayoría de los errores de Samba / CIFS, el mensaje "No existe tal archivo o directorio" no es de mucha ayuda.
Como ejemplo:
.. donde tengo mi dominio, nombre de usuario y contraseña contenidos en el archivo .cifs_user.
Aparentemente, smbmount usa una versión más nueva del protocolo SMB por defecto, ya que funcionó sin problemas ni ninguna opción especial.
Observe a continuación que la versión de protocolo predeterminada es 1.0.
Desde la página de manual de mount.cifs:
fuente
vers=2.0
para montar los recursos compartidos de samba de mi sistema NAS de 5 años ... con 3.0 obtuve el error anterior.etc/fstab
usuarios: simplemente ponga esovers=3.0
(o 2.0 ...) correcto y sin espacio antes que sus otras opciones, es decirvers=2.0,guest,uid=1000,iocharset…
¿Puedes usar la
nodfs
opción? es decir, para su-o
entrada de opciones, pase la entrada de la siguiente manera.es decir, adjunto
,nodfs
Funcionó para mi.
fuente
Es posible que deba cambiar el
sec
parámetro: esta configuración lo hizo funcionar en mi configuración:Extracto relevante de
man mount.cifs
:fuente
Me encontré con esto en Ubuntu 18.04. El problema era que necesitaba el paquete keyutils para realizar la autenticación Kerberos (
sec=krb5
opción de montaje), que no se instaló junto con cifs-utils (que proporcionaba mount.cifs). No estoy seguro de si el nombre del paquete es el mismo en Gentoo o no. (Gracias a https://forum.zentyal.org/index.php?topic=18601.0 por la solución).fuente
Intente instalar el paquete keyutils:
No estoy seguro exactamente por qué esto ayuda, tal vez alguien más tenga una respuesta aquí. Pero al menos funcionó para mí: con keyutils el montaje cifs funcionó bien.
fuente
Quería agregar otra fuente de este problema que encontré hoy. Una vez que cambie la identificación de usuario de un usuario de Unix, es posible que el usuario smb creado a través de smbpasswd ya no pueda autenticarse para el recurso compartido de samba, lo que da como resultado el mismo error.
Entonces, si cambió su identificación de usuario de Unix a través de,
usermod -u 1000 my_user
entonces puede tener problemas. La solución para mí fue eliminar y volver a agregar el usuario smb después:fuente
Agregue un
$
al final, como este//winserver/sharename$
fuente
Me encontraba con este mismo "error de montaje (2): no existe tal archivo o directorio" error usando mount.cifs en una máquina virtual CentOS 7. Nunca determiné exactamente por qué se generaba el error al usar la seguridad ntlm predeterminada (y las variantes), pero descubrí que usar la autenticación Kerberos solucionó el problema. Entonces mi línea de comando de trabajo final se veía así:
mientras que este comando que dio el error "no existe tal archivo o directorio" fue:
Para usar Kerberos, instalé el paquete "krb5-workstation" y lo configuré.
fuente
Una solución podría ser la instalación manual,
keyutils
ya que ya no es una dependencia (dura)cifs-utils
.Puede encontrar información sobre por qué ya no están instalados los keyutils: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822841
Y un informe de error de launchpad se puede encontrar aquí: https://bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1772148
fuente
Conmigo funcionó poniendo "vers = 1.0" como antes -> credentials = / root / .dbx.credentials, vers = 1.0 , uid = 1001, gid = 100, rw
fuente