Pregunta Cómo hacer que Samba comparta para NO PEDIR CONTRASEÑA


NOTA: probablemente he leído hasta 50 páginas diferentes que describen cómo configurar un recurso compartido público de Samba en el intervalo de 2 AÑOS y nada funcionó para mí. No sé cuánto RTFM necesito para configurar esto.

Necesito / quiero configurar un archivo compartido público completamente abierto en mi servidor doméstico para dos estaciones de trabajo.

La configuración es la siguiente:

Servidor:

  • Debian Wheezy
  • sudo smbd --version me da Version 3.6.6.
  • 2 particiones locales que deseo compartir, formateadas en NTFS debido a que son viejas y tomadas de la máquina de Windows. No puedo formatearlos en ext * FS porque tienen una gran cantidad de datos que todavía no puedo mover a ningún otro lugar.
  • Máquina llamada "homeserv" por falta de originalidad.

Cliente:

  1. Pruebas de Debian (Jessie)
  2. Windows 7 (2 máquinas diferentes). De hecho, mi máquina es Debian / Windows dualboot, y la máquina de mi esposa es solo Windows.

Mi smb.conf después de la destilación se ve como sigue (literal, nada más está ahí):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

En ambas máquinas cliente, tanto en Debian como en Windows obtengo el mismo resultado: diálogo de inicio de sesión / contraseña. SIN COMBINACIÓN DE security = user, map to guest = Bad user, security = share, guest ok = yes y tal ayudó.

Windows 7 muestra el diálogo de inicio de sesión / contraseña justo después de hacer clic en la máquina compartida en el entorno de red. smb://homeserv/ La ruta del archivo en Debian (en cualquier navegador de archivos) me muestra dos carpetas: disk1 y disk2, según lo previsto, al abrirlos, se abre el cuadro de diálogo de inicio de sesión / contraseña.

Entonces, ¿qué me falta en el esquema para NO TENER que ingresar el nombre de usuario / contraseña? Esta es una pregunta de usabilidad, no crearé una autenticación basada en el usuario para el desguace de archivos.


13
2017-09-23 17:13


origen




Respuestas:


OK, he encontrado una respuesta a mí mismo.

Como esto es absolutamente no obvio desde los documentos y los CÓMO, y lo que sea, la razón por la que esta cosa solicita la contraseña es porque no puede asignar un usuario invitado al propietario del directorio que se comparte.

Tengo particiones NTFS que necesito para montar RW, así que utilicé la siguiente configuración en mi /etc/fstab:

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

Las piezas más importantes de configuración son. uid y gid (tal vez solo uid, no sé). Están configurados en el UID y GID del usuario. jonnie configurar en el servidor (obviamente no root). Entonces, cuando ntfs-3g montará estos discos, todo será de su propiedad.

Después de eso, agregué este usuario al registro de Samba (o quizás creé uno nuevo idéntico, no me importa):

# smbpasswd -a jonnie

Pidió contraseña, he ingresado lo mismo que para el sistema principal.

Después de eso, he añadido el force user y force group ajustes a la smb.conf:

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Asi que, lo más importante pieza de configuración relevante para mí era force user.

Cortesía de la Samba HOWTO


10
2017-09-30 02:53



"obviamente no la raíz". En realidad eso no es tan obvio. Samba tiene docenas de modos de falla. La mayoría resulta en un mensaje de error idéntico. Es por eso que pasaste tanto tiempo en búsquedas infructuosas de Google. Una sola búsqueda no solo presentará una mezcla de problemas, sino que las respuestas encontradas también sufrirán la misma confusión. El uso de root elimina el lado de seguridad de Linux, pero también le permite diagnosticar el problema. Si funciona como root, tiene un problema de seguridad a nivel de Linux. Si Samba sigue fallando, el problema está dentro de la idea de los usuarios de Samba (son diferentes y deberían haber tenido errores únicos) - MSalters


La forma rápida y sucia de tener un recurso compartido de Samba abierto es tener:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

y tienen acciones definidas como tales:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Reinicie el demonio.

Para los clientes de Windows 7, a partir de 2014, he necesitado establecer la política de dominio: firmar digitalmente comunicaciones desde siempre deshabilitar.


1
2017-09-23 18:31



Dios mío, cambiando la política de dominio para acciones supuestamente públicas ... (facepalm). Bien, gracias de todos modos, pero no, intenté esto justo ahora y accediendo smb://homeserv/disk1 Todavía requiere una contraseña en Debian. Utilicé los navegadores de archivos Dolphin y Krusader. Tal vez sea algo en KDE sin embargo. - hijarian
Hey eso funcionó! :RE public = yes y 777 Los permisos hicieron el truco (Win 10 hosting Ubuntu 18.04). Afortunadamente, está en mi estación de trabajo personal, así que no tengo que preocuparme por eso - Arthur Tarasov


La configuración puede ser más corta:

Crea un usuario jonnie de unix

useradd jonnie -s /usr/sbin/nologin

Crear smbuser

smbpasswd -a jonnie

Crea el directorio de Linux para compartir.

mkdir /mysmbshare

Cambia el propietario del directorio a jonnie.

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Todos los archivos son propiedad de jonnie y todos tienen acceso rw a los archivos.


1
2018-01-23 16:47