Para poder compartir recursos Samba desde Linux a Windows sin usar ningún login usuario/password de modo que sea un acceso invitado, debemos configurar una serie de directivas en el fichero de configuración de Samba.

Configuración insegura

chmod 777 + usershare allow guests = yes + security = SHARE expone el recurso a cualquiera con acceso de red, sin autenticación ni control de acceso. Úsalo únicamente en una red de laboratorio aislada o LAN cerrada de máquinas de confianza; nunca en una red con clientes desconocidos o accesible desde Internet.

Instalación de Samba (en el caso de distribuciones basadas en Debian).

sudo apt install samba samba-client smbfs

Creamos la carpeta que vamos a compartir. Un usuario externo que tiene acceso al equipo a través de Samba, el sistema le da como nombre de usuario nobody y como nombre de grupo nogroup, por lo que hacemos propietarios de esta carpeta a los usuarios externos.

sudo mkdir /mnt/publica
sudo chmod 777 /mnt/publica
sudo chown nobody:nogroup /mnt/publica

Editamos el fichero de configuración de Samba.

/etc/samba/smb.conf

Añadimos o modificamos las siguientes directivas. Workgroup será el nombre del grupo de trabajo (en caso de no formar parte de un entorno de dominio) y permitimos el acceso a invitados.

[global]
   workgroup = WORKGROUP
   usershare allow guests = yes

Establecemos el recurso compartido.

[NombreRecursoCompartido]
   comment = Mi recurso compartido
   path = /mnt/publica
   browseable = Yes
   writeable = Yes
   public = yes
security = SHARE
  • browseable: Atravesar y navegar entre las subcarpetas del recurso compartido.
  • writeable: Escribir en el recurso compartido.
  • public: el sinónimo de “guest ok”, permite ver y acceder al recurso compartido de manera pública.
  • security: Por defecto suele estar comentado como “;   security = user”, permite que se pueda acceder sin establecer ningún nombre de usuario.

La directiva “security” es la que realmente permite un acceso tipo invitado desde cualquier otro sistema que no sea Linux ya sea Windows o MacOS.

Debe colocarse sin espacios y al final del fichero de configuración smb.conf, un salto de línea después del último recurso compartido.

Reiniciamos el servidor Samba para aplicar los cambios.

sudo systemctl restart samba

Hago referencia a uno de mis repositorios sobre un caso práctico de este ejemplo.

Riesgo de seguridad Link to heading

No se recomienda habilitar la directiva usershare allow guests por motivos de seguridad, la configuración por defecto estará deshabilitada con valor No.

Saludos!