
Así que debo comenzar diciendo que hice esto exitosamente hace menos de una semana y no tuve problemas, pero desde entonces he reformateado y reconfigurado mi servidor y ahora me resulta más difícil recordar cómo lo hice.
Esto es lo que tenía antes y lo que estoy tratando de lograr nuevamente. Tenía un recurso compartido público de samba en el servidor Ubuntu. Cualquiera en mi red podría acceder al recurso compartido y a su contenido simplemente escribiendo \Hostname. No se necesita contraseña. Los usuarios que no estaban en el grupo de trabajo del recurso compartido tenían acceso de lectura, pero los usuarios que estaban en el grupo de trabajo tenían acceso de lectura/escritura. (ventanas 7)
Ahora, si intento conectarme a \Hostname, se me solicita un nombre de usuario y una contraseña. Si ingreso la contraseña de la ONU, obtengo acceso completo, pero no debería ser necesario; mis configuraciones actuales son...
security = user
map to guest = bad user
[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
Me estoy arrancando el pelo con este. ¿Alguna sugerencia?
EDITAR:
Uf, esto me está haciendo pasar un mal rato. Estoy tan cerca.
Esto es lo que tengo.
Puedo acceder al recurso compartido desde Windows 7 yendo al inicio y escribiendo \Hostname\Sharename pero se me solicita un nombre de usuario y contraseña. No puedo dejarlo en blanco porque utilizará mi grupo de trabajo como dominio; así que ingreso \ como nombre de usuario para borrarlo e iniciar sesión con un nombre de usuario y contraseña en blanco. Genial, ahora puedo acceder a los archivos compartidos.
Una vez que estoy dentro, la configuración del grupo de trabajo funciona correctamente. Si estoy en una computadora con el GRUPO DE TRABAJO predeterminado, puedo leer y ejecutar; una computadora en mi grupo de trabajo de casa puede leer, escribir y ejecutar. Entonces eso está funcionando.
El problema es que no debería pedir ninguna contraseña. Debería ser totalmente público para cualquier persona en la red. Estoy intentando compartirlo con XBMC y ni siquiera aparece en smb en el administrador de archivos. Tampoco puedo acceder manualmente desde XBMC. Recibo un error de conexión rechazada.
Sigo tirándome de los pelos por esto. La peor parte es que la primera vez que hice esto hace aproximadamente una semana, le dediqué unos 30 minutos y funcionó perfectamente. Ahora probablemente he pasado al menos 4 horas y todavía no funciona.
Testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = FELLOWSHIP
server string = %h server (Samba, Ubuntu)
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Shares]
path = /home/shares
read only = No
guest ok = Yes
ACTUALIZACIÓN: Entonces, el recurso compartido ahora está disponible en mi red independientemente del grupo de trabajo. Cualquier usuario de Windows que se conecte a mi red puede ver el NAS en Netowork y acceder a él. La clave fue configurar la seguridad en seguridad = compartir. Lo sé, está en desuso, pero funciona y seguridad = usuario y mapa a usuario = mal usuario no funcionaban para mí.
De todos modos, ahora parece que cualquiera que se conecte al recurso compartido obtiene permisos globales Unix para el directorio, lo cual es manejable, pero quiero que los usuarios que están unidos al grupo de trabajo especificado en smb.conf obtengan permisos de grupo Unix.
De esta manera, puedo configurar el directorio en 775 y podré escribir porque estoy unido al grupo de trabajo pero otros usuarios solo pueden leer y ejecutar.
Respuesta1
Sucedió que tropecé coneste hilo en los foros de Ubuntuy pensé que podría ayudar. Explica los pasos que ocurren detrás de escena:
En Windows, el nombre de usuario y la contraseña del cliente se envían automáticamente cuando busca recursos compartidos; esto se hace sin el conocimiento del usuario. Eso obliga a Samba a manejar las credenciales enviadas a pesar de que es un recurso compartido invitado que no requiere autenticación.
Cuando se pasa ese nombre de usuario, Samba buscará ese usuario en su base de datos de contraseñas:
Si no hay ninguna coincidencia con el nombre de usuario, el usuario del cliente se etiqueta como "Usuario incorrecto" y se convierte (asigna) a la cuenta de invitado que, de forma predeterminada, es "nadie".
Si encuentra una coincidencia con el nombre de usuario y hay una contraseña de samba que coincide con la enviada por el cliente de Windows, entonces el usuario de Windows obtiene acceso automáticamente, aunque no como un usuario anónimo, por lo que necesitaba agregar "forzar usuario = nadie" a su definición de acción.
Si encuentra una coincidencia con el nombre de usuario pero la contraseña de samba no coincide exactamente con la contraseña que envía automáticamente el cliente de Windows, se le solicitará una contraseña, incluso para un recurso compartido como invitado.
Intente agregarlo force user = nobody
a su definición de acciones y vea si eso es suficiente.
Editar 20/02/2013:
¿ testparm
Devuelve un código de salida distinto de cero? De todos modos, seguiría adelante y le daría una buena mirada a esa área de la configuración. Además, no estoy seguro de hasta qué punto smb.conf distingue entre mayúsculas y minúsculas, pero cada ejemplo que veo (por ejemplo) map to guest = Bad User
tiene la B y la U en mayúscula. Revisar lapáginas man de sambapara las opciones que estás utilizando y vuelve a verificar todo.
Respuesta2
Así se configura OpenElec. Debería hacer lo que estás pidiendo. (incluso si es un año después... tal vez ayude al siguiente) Simplemente modifique la configuración de compartir según sea necesario.
[global]
server string = YOURSERVERNAME
workgroup = WORKGROUP
netbios name = %h
security = share
guest account = root
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
smb ports = 445
max protocol = SMB2
min receivefile size = 16384
deadtime = 30
os level = 20
mangled names = no
syslog only = yes
syslog = 2
name resolve order = lmhosts wins bcast host
preferred master = auto
domain master = auto
local master = yes
printcap name = /dev/null
load printers = no
browseable = yes
writeable = yes
printable = no
encrypt passwords = true
enable core files = no
passdb backend = smbpasswd
smb encrypt = disabled
use sendfile = yes
[share]
comment = Share
path = /share
available = yes
browsable = yes
writable = yes
public = yes
Respuesta3
Como la búsqueda de Google nos trae hasta aquí y no hay una respuesta clara, lo resumí.
A continuación se detallan las condiciones necesarias para garantizar que los clientes SMB no soliciten el nombre de usuario y la contraseña al acceder a su servidor Samba:
Agregar
guest account = <owner-of-your-shares>
debajo de una[global]
sección. Es importante que la cuenta del propietario de sus acciones tenga acceso a ellas. Si no hace esto, Samba asumirá que la cuenta de invitado es unnobody
usuario que probablemente no tenga acceso a los datos de su recurso compartido.Alternativamente, puede especificar
force user = <owner-of-your-share>
debajo de su[shareXYZ]
bloque.Asegúrate de que
[shareXYZ]
lo tengasguest ok = yes
.Establecido
browsable = yes
, pero generalmente se hereda de[global]
y está configuradoyes
de forma predeterminada.
Entonces, probablemente security = user
también debería configurarse (esto es el valor predeterminado cuando no tiene Active Directory configurado en su entorno). Sin embargo, no estoy seguro de si este indicador es necesario ya que no tengo AD en mi entorno.
Por supuesto, si desea que el nobody
usuario trabaje, entonces puede simplemente chown -Rh 65534:65534 /yourshare
, después de eso estará bien con la configuración única guest ok = yes
debajo de su [shareXYZ]
.
Tenga en cuenta que haber establecido rwx
en others
( chmod o+rwx /yourshare
) no permitió que Samba y su nobody
usuario ingresaran al recurso compartido. He comprobado esto con strace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Probablemente Samba simplemente ignora los permisos establecidos para others
? No estoy seguro.
Respuesta4
Probablemente esta no sea la solución para todos los que tengan ese problema, pero mi problema se debió a los permisos del directorio principal en el que se encontraba el directorio compartido. Tan pronto como habilité "Leer por otros", pude acceder de forma anónima. la cuota. Esto me tomó un poco por sorpresa ya que en los servidores de Windows los permisos del directorio principal no importan para el directorio compartido.
Entonces mi camino se ve así:
/data1/Downloads
Tuve que habilitar "leído por otros" en el data1
directorio.
No tuve que hacer nada especial smb.conf
, mi entrada compartida se ve así...
[Downloads]
path = /data1/Downloads
browseable = yes
read only = yes
guest ok = yes
public = yes