smb.conf solo lee cualquier usuario sin contraseña

smb.conf solo lee cualquier usuario sin contraseña

Quiero alojar una ruta sobre samba que cualquier usuario pueda leer sin contraseña.

En smb.conf en mi PC host:

[global]
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   usershare allow guests = yes
[mystuff]
   path = /path/to/my/stuff
   read only = yes
   public = yes
   guest ok = yes
   guest only = yes
   browseable = yes

En alguna otra computadora si yo

smbclient -L //myhostpc/mystuff

dice

Enter WORKGROUP\myusername's password:

Curiosamente, todavía dice esto si escribo mal mystuff. La PC host se reinició y nmblookup -S WORKGROUPenumera las entradas para MYHOSTPC.

También lo intenté (en ubuntu, con cifs-utils instalado)

sudo mount -t cifs //myhostpc/mystuff /tmp/mystuff

pero consigue

Password for root@//myhostpc/mystuff

y si lo intento

sudo mount -t cifs //myhostpc/mystuff -o username=guest,password="" /tmp/mystuff

(como vi en alguna parte), entiendo

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page)

Noto en /var/log/samba/log.:

[2022/02/12 14:57:23.569070,  0] ../../source3    /smbd/service.c:166(chdir_current_service)
  chdir_current_service: vfs_ChDir(/path/to/my/stuff) failed: Permission denied. Current token: uid=65534, gid=65534, 1 groups: 65534

¿Qué necesito hacer [mystuff]visible en otros ordenadores, para cualquier usuario, sin pedir contraseña?

Respuesta1

La documentación smbclientmenciona esta situación específica:

password[...] No existe una contraseña predeterminada. Si no se proporciona ninguna contraseña en la línea de comando (ya sea usando este parámetro o agregando una contraseña a la -Uopción (ver más abajo)) y -Nno se especifica la opción, el cliente solicitará una contraseña, incluso si el servicio deseado no requiere uno. (Si no se requiere contraseña, simplemente presione ENTRAR para proporcionar una contraseña nula).

y luego, haciendo referencia a -Nlo que este menciona:

-N|--no-passSi se especifica, este parámetro suprime la solicitud de contraseña normal del cliente al usuario. Esto es útil cuando se accede a un servicio que no requiere contraseña.

¿La solución en tu caso?

smbclient -NL //myhostpc/mystuff

El mismo efecto está disponible para mount. Aquí de man mount.cifs(buscando referencias a password):

password=arg|pass=argespecifica la contraseña CIFS. Si no se proporciona esta opción, PASSWDse utiliza la variable de entorno. Si la contraseña no se especifica directa o indirectamente mediante un argumento para montar, mount.cifssolicitará una contraseña, a menos que guestse especifique la opción.

lo que nos lleva a la guestopción:

guestno solicitar una contraseña

¿La solución para ti aquí?

sudo mount -t cifs -o guest //myhostpc/mystuff /tmp/mystuff

información relacionada