Samba imposible acceder al directorio

Resuelto

Hola

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

  1. 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:

    1. 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

      1. 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,

    2. 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)

      1. 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 compartir

        Hacer 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
        1. Moderador

          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.