Samba imposible acceder al directorio
ResueltoHola
Estoy intentando desesperadamente configurar Samba para compartir desde mi Debian hacia una VM Windows 10, pero en vano (lo mejor sin usuario)
- Bajo W10: responde al ping, sin firewall, samba 1 instalado, compartición sin contraseña activada.
- Bajo Linux: firewall desactivado
apt update apt install samba
En el archivo de configuración de samba:
path = hacia el escritorio browseable = yes writable = yes guest ok = yes read only = no
He reiniciado samba.
En cuanto a permisos: chmod -R 0777 y chown -R nobody:nogroup hacia mi ruta.
He intentado probar el compartir en mi Linux sin el Windows, imposible acceder.
He intentado agregar un usuario, mi usuario habitual
smbpasswd -a monuser
En el archivo de configuración
valid users = monuser guest ok = no
y nada funciona, no entiendo por qué
¿Pueden ayudarme por favor?
4 respuestas
-
Hola,
En el lado de Linux, no entiendo nada.
En el lado de Windows, siempre hay un firewall por defecto (Windows Defender) a menos que se haya desinstalado, no es fácil.
Me parece que no se puede hacer un uso compartido local en Windows si en el lado de Windows no hay una contraseña, aunque esté desactivada al iniciar sesión, y que se pedirá en la primera conexión de red aunque luego se memorice.
Además, no se puede por defecto compartir en Windows la totalidad de la partición del sistema C: -
Hola
Gracias por tu respuesta
No creo que eso bloquee a nivel de Windows ya que tampoco puedo montar el recurso compartido del lado de Linux. Del lado de Windows solo veo
- el cortafuegos
- el recurso compartido sin contraseña (para tu información, me va muy bien en el otro sentido Windows ---> Linux en cifs)
- la versión de SMB 1 o 2
Ahora pienso más en un error de configuración en Linux, pero ¿dónde? no entiendo
-
Hola,
Como te dije anteriormente, por el lado de Linux, mi lengua al gato, no creo que sea necesario activar SMB1.0 en Windows para Windows 10 y 11, pero lo hice por si acaso y no cuesta nada.
Si entendí bien tu configuración, yo hice lo contrario, tengo una máquina virtual VMWare Workstation Player Linux Mint configurada en Windows 11.
A modo de comentario, no veo Linux en el entorno de red de Windows ni a Windows en el de Linux, ni siquiera la "Shared Folders" propia de VMWare funciona.
Desde Windows, realmente no he intentado; desde Linux, pero probablemente no te interese porque tu máquina virtual está configurada en Linux, resolví el problema mediante un truco que consiste en crear la carpeta compartida en Linux:mkdir /mnt/hgfs/Win11Desktop
luego compartirla, en el contexto de VMWare:
sudo vmhgfs-fuse .host:/Win11Desktop /mnt/hgfs/Win11Desktop -o allow_other -o uid=1000
y finalmente hacer un acceso directo de la carpeta en cuestión copiado en los favoritos para un acceso fácil, te paso los acabados adicionales que tengo a tu disposición si es necesario,
-
-
es un poco más complicado si tan solo tuviera VMware
Pero en mi caso tengo
Host Linux Pop OS
VM Windows 10
Hipervisor KVM/QEMU
Si comparto en CIFS de mi Windows a mi Linux funciona
Si comparto de mi Linux a mi Windows en SAMBA no funciona (pero tampoco funciona de mi Linux a mi Linux, así que para mí no está relacionado con la virtualización, sino con el compartimiento)
-
He resuelto mi problema, ¿puede cerrarlo por favor? Gracias.
A continuación lo que hice.
Pase a una sesión root o use sudo en cada comando
su -
Instalar samba y smb client
En centos:
yum install -y samba yum install -y smbclient
En ubuntu:
apt-get install -y samba apt-get install -y smbclient
Activar SMB al inicio
systemctl enable smbd
Crear un directorio para compartir y establecer permisos:
mkdir /mnt/compartir
(la ruta puede ser diferente, por ejemplo /home/user/Escritorio/compartir)
chgrp -R compartir /mnt/compartir chmod 777 /mnt/compartir groupadd compartirHacer una copia de seguridad del archivo de configuración de samba
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Copie el siguiente texto en /etc/samba/smb.conf
[global] netbios name = user workgroup = WORKGROUP server string = samba from pcuser security = user guest account = nobody map to guest = Bad User # por razones de seguridad no debería permitir ninguna versión inferior a SMB2 server min protocol = SMB2 [compartir] comment = data path = /mnt/compartir guest ok = no read only = no browseable = yes valid users = smbuser
Reiniciar el servicio samba
systemctl restart smbd
Agregar un usuario de Samba
adduser smbuser smbpasswd -a smbuser gpasswd -a smbuser compartir
-
Hola,
Gracias por tu retorno detallado. Sin embargo, algunas observaciones:
- Como autor de la discusión, puedes marcar el tema como resuelto tú mismo, como se explica aquí.
- No confundas el cliente samba (que permite acceder a un recurso compartido) y el servidor samba (que permite compartir archivos). En tus explicaciones, mezclas un poco los dos aspectos. Dado que Debian actúa como servidor, smbclient solo es necesario si deseas probar tu recurso compartido localmente. De hecho, es una buena idea hacerlo, ya que en caso de problemas te permite saber si el problema proviene, por ejemplo, del cortafuegos o del cliente de Windows.
- No debes usar chown / chgrp como lo estás haciendo, ya que tu sistema de archivos se vuelve demasiado permisivo a nivel local. Como el servidor se ejecuta como root, no hay razón para relajar los derechos. Los derechos expuestos por samba al cliente samba (digamos tu W10) y los derechos del sistema de archivos local (por lo tanto, bajo Debian) son independientes (ver especialmente la opción de solo lectura). De hecho, se recomienda al compartir no dejar más que derechos de solo lectura :-)
- No olvides reactivar tu cortafuegos :-)
Además, y aunque no sea la pregunta inicial, me permito señalar que existen soluciones mucho más cómodas de implementar para compartir archivos hacia/desde linux/windows/... como ssh/winscp, kdeconnect, ftp, etc. Personalmente, utilizo kdeconnect.
-