Sin acceso a los recursos compartidos de Samba

8

Tengo tres carpetas compartidas en mi directorio de inicio local, es decir, en mi escritorio de Ubuntu / home / me /. Todos se configuraron utilizando "Opciones de uso compartido" en el menú contextual de Nautilus. Las carpetas estándar "Música" y "Videos" están configuradas de manera idéntica: la casilla "Acceso de invitado" está marcada, pero la opción "Permitir que otros creen y eliminen" no lo está. La tercera carpeta, llamada "compartida", está configurada para no permitir el acceso de Invitado, sino para permitir que otros modifiquen archivos. No he alterado /etc/samba/smb.confa mano, solo he usado las Opciones de uso compartido para crear y modificar estos llamados "recursos compartidos".

Mis compañeros de cuarto tienen dos computadoras con Windows 7 y una netbook Ubuntu Netbook Remix. Tengo la máquina de escritorio y la computadora portátil mencionadas anteriormente con 10.04. Ninguna de estas máquinas puede acceder a ninguno de los recursos compartidos. Los intentos de acceder a los recursos compartidos de Invitados dan como resultado el mensaje

\\machine\directory is not accessible. The network name could not be found.

Este es el mensaje de error generado por una VM que ejecuta Windows 2000. Las otras máquinas con Windows generan un error similar. La computadora portátil Ubuntu da el error Unable to mount location: Failed to mount Windows share. Hurra, una vez más, por mensajes informativos de error. Eso realmente ayuda mucho.

Cuando intento explorar la carpeta llamada "compartida" desde la computadora portátil, me enfrento a un diálogo de contraseña. Este comportamiento es el mismo para todas las máquinas que he probado en la situación. Al ingresar mi nombre de usuario y contraseña para la cuenta a la que pertenecen los recursos compartidos, el diálogo de contraseña desaparece brevemente y se reemplaza por un diálogo idéntico. No aparece ningún mensaje de error, útil o no.

Al intentar explorar esta carpeta con la VM, el resultado es el mismo, excepto que el diálogo de contraseña indica útilmente "nombre de usuario o contraseña incorrectos". Supongo que el nombre de usuario y la contraseña en cuestión son los del usuario propietario de los recursos compartidos. He probado todas las demás combinaciones de nombre de usuario y contraseña disponibles en este contexto y el resultado es el mismo.

Me gustaría poder compartir archivos. Compartirlos con máquinas Windows es una buena característica, o lo sería si estuviera disponible. Realmente considero que compartir archivos entre dos máquinas con la misma versión del mismo sistema operativo es una condición mínima para la usabilidad de la red.

Samba funcionó de manera confiable para mí hace más de diez años. He intentado usarlo de vez en cuando con solo éxito intermitente.

Ah, y "Compartir archivos personales" en el menú Preferencias no da como resultado una entrada en Lugares → Red → mi-servidor. De hecho, la entrada anterior "MY-SERVER" desaparece y se reemplaza por "los archivos públicos de koanhead en mi servidor", que cuando intento abrirlo desde la computadora portátil da un "DBus.Error.NoReply: el mensaje no se recibió una respuesta."

Sé que vengo aquí y me quejo mucho sobre Ubuntu, pero por otro lado paso literalmente horas todos los días tratando de arreglar las cosas en Ubuntu. Es un buen sistema que aspira a la grandeza, razón por la cual cosas como esta

  1. Necesito trabajar; o

  2. Estar adecuadamente documentado.

Idealmente, ambos serían el caso. De todos modos, despotrican. Esperemos que alguien tenga alguna idea sobre este tema. Gracias a todos los que se molestaron en leer este muro de texto por su tiempo.

koanhead
fuente
1
Esto realmente no es una buena manera de solucionar el problema, pero es una solución alternativa. Mientras /etc/samba/smb.conf tiene map to guest = bad useren el global de la sección y la cuota tiene guest ok = yesa continuación, si se pone en una incorrecta nombre de usuario y contraseña (pero no en blanco chatarra, sólo hay que poner en ambos campos), las cosas parecen funcionar. Sé que es feo, y espero que alguien tenga una mejor respuesta, así puedo arreglar mi configuración también.
Jeremy
1
¿Has pensado en usar scp? coloque winscp en las máquinas con Windows y ejecute el servidor ssh en su máquina. Muy simple de configurar y administrar. Los protocolos para compartir archivos de Windows deben evitarse a toda costa, ni siquiera funcionan muy bien entre máquinas con Windows. Renuncié a la samba hace mucho tiempo.
El conserje de Unix
@ Jeremy, gracias por la sugerencia, lo intentaré en los próximos dos días y publicaré los resultados aquí. @ user5883, sí, uso rutinariamente sshfs y ocasionalmente scp- pero no puedo renunciar a Samba ya que Ubuntu lo adoptó como el método "oficial" para compartir archivos y necesito poder ayudar a otros con él.
koanhead
@Jeremy, 'map to guest = bad user' ya estaba presente en la sección global de smb.conf. Agregar invitado ok = yes no ha tenido un efecto discernible.
koanhead
2
He otorgado la recompensa por esta respuesta, no porque Samba ahora esté funcionando correctamente, sino porque no quería dejar que caducara. El intercambio de archivos en Ubuntu todavía está irremediablemente roto, por lo que puedo decir; nunca me ha funcionado desde 2006. Samba solo ha funcionado satisfactoriamente con Caldera OpenLinux (en 1999) y Fedora Core 2. En ambos casos, llevó varios días de estudio, prueba y error. Mi punto al publicar esta pregunta no fue que necesito que Samba funcione, sino que Ubuntu necesita que funcione. Esto es un factor decisivo para el error n. ° 1 y no me permite recomendar Ubuntu.
koanhead el

Respuestas:

7

Estoy pensando que no tiene usuarios de samba.

sudo smbpasswd -a <username>  
gksu gedit /etc/samba/smbusers  
RobotHumanos
fuente
1
esto es algo que solía arrojarme ... no integrar usuarios de samba y usuarios del sistema, pero hay una razón.
RobotHumans
Desde la página de manual de smbpasswd: "Además, el comando smbpasswd solo es útil si Samba se ha configurado para usar contraseñas cifradas". No he configurado samba para hacerlo manualmente y no sé si Ubuntu lo configura de esa manera por defecto. Además, la página de manual de smbpasswd no hace referencia a smbusers. Indica que el comando 'smbpasswd -a' es suficiente para agregar un usuario, pero entonces ¿por qué existe el archivo smbusers? ¿Por qué esto sería relevante para la autenticación de nivel compartido? Se supone que los recursos compartidos se pueden leer globalmente sin una contraseña. ¿Por qué Samba se puede usar solo para expertos en Samba?
koanhead
Agregué un usuario a través de 'smbpasswd -a' y reinicié smbd sin ningún efecto inmediato perceptible. Después de realizar y revertir algunos de los cambios en smb.conf mencionados anteriormente, con los reinicios de smbd asociados, ahora se puede acceder a la carpeta llamada 'shared' desde la computadora portátil a través de la contraseña que configuré. Por lo tanto, el acceso a nivel de usuario ahora funciona, pero no el acceso a nivel compartido, que es lo que realmente quería. El acceso a nivel de usuario no es muy útil para mí, ya que utilizo sshfs para eso, pero su respuesta es la más correcta (la única que realizó un cambio positivo), por lo que le otorgaré la recompensa.
koanhead
Agradezco el cheque ... y entiendo la frustración. El uso de usuarios para proporcionar permisos de nivel compartido fue algo con lo que me tropecé hace MUCHO tiempo (incluso me olvido de las circunstancias, pero ahora me siento mucho como tú). Como solución alternativa, usó usuarios y asignó una unidad con algún tipo de opción "autenticar como" en el montaje de la unidad. No son verdaderos permisos de nivel compartido, pero me dieron una implementación gratuita que funcionó como se deseaba.
RobotHumans
Yo lo hice. No ayudó Por cierto, no hay tal archivo gksu gedit / etc / samba / smbusers, así que lo guardé para que esté nuevo vacío. ¿Cuál es el uso de eso? ¿Cómo se acepta esta respuesta? No está funcionando
Kangarooo
3

Esta no es una respuesta, sino más bien un comentario, ya que todavía no tengo el privilegio de comentar. No me sorprende que su compañero de cuarto use Windows 7. A veces tengo problemas para compartir archivos entre Windows XP y Windows 7.

Solía ​​trabajar en una computadora con Windows XP con Ubuntu ejecutándose en VMware, y transferir archivos a través de compartir a través de Samba. Cuando probé la misma configuración con Windows 7, no me gustó.

Parece que hay algo que ha cambiado en Windows 7. Por lo tanto, a menos que tenga problemas para compartir con un Windows XP, no diría exactamente que Samba era más confiable hace 10 años.

haga referencia aquí y / o intente obtener versiones más recientes de Samba

http://wiki.samba.org/index.php/Windows7

hansioux
fuente
1
Gracias por la respuesta, y sospeché que Windows 7 podría estar contribuyendo al problema. Sin embargo, tampoco puedo conectarme desde otra computadora que ejecute el mismo sistema operativo que el servidor (Ubuntu 10.04) ni la VM Win2k local. Desafortunadamente no hay una máquina XP cerca con la que pueda probar esto. Mi punto en el discurso extendido fue que en Ubuntu, Samba debería funcionar (tm) ya que es el método de intercambio de archivos 'oficial'. Tener que hackear cosas para que funcionen está bien en Arch o incluso en Fedora, pero no en Ubuntu. Por cierto, cuando realmente quiero usar archivos remotos, uso sshfs.
koanhead
¿Ni siquiera se puede conectar a otra máquina Ubuntu? ¿Puede tu Ubuntu 10.04 ver la otra computadora perfectamente? Sé que probablemente haya verificado esto, pero ¿están estas computadoras en el mismo GRUPO?
hansioux
Sí, las dos computadoras Ubuntu se muestran en los Lugares-> Red del otro. De hecho, todas las computadoras involucradas pueden verse entre sí, pero ninguna puede acceder a los recursos compartidos alojados en el cuadro de Ubuntu y ninguno de los cuadros de Ubuntu puede acceder a los recursos compartidos (no tengo una cuenta en la máquina de Windows, así que no espero que para trabajar de todos modos.) Inicialmente, las dos computadoras Ubuntu eran parte de un grupo de trabajo separado, pero he cambiado esto para que todas las computadoras en la red local estén en 'GRUPO DE TRABAJO'.
koanhead
3

Normalmente lo hago editando el archivo conf. Hice esto: sudo nano /etc/samba/smb.confy agregué esto al final del archivo.

[Shared]
     comment = My Files
     path = /home/me
     read only = yes
     write list = koanhead
     guest ok = yes

En 'lista de escritura' mencione el nombre de usuario de su sistema, para que solo tenga permiso de escritura. En la máquina de Windows, escriba esto en ejecutar: \\ ip-of-the-samba-pc \ shared. En la máquina ubuntu, abra el navegador de archivos y escriba esto en la barra de ubicaciónsmb://ip-of-the-samba-pc/shared

nixnotwin
fuente
Gracias por la sugerencia, lo intentaré en los próximos dos días e informaré de nuevo.
koanhead
Agregar el texto citado a /etc/samba/smb.conf hace que todos los recursos compartidos desaparezcan de la ventana Nautilus "Recursos compartidos de Windows en mi servidor".
koanhead
3

Dices que pudiste hacer que el acceso a nivel de usuario funcione. Eso me parece que es simplemente su configuración de samba la que está mal. En los viejos tiempos, habría dicho que eliminaran el samba.conf, y hicieran uno simple que se adaptara a sus necesidades, un samba.conf adecuado no necesita tener más de 10 líneas, tal vez.

De todos modos, desde entonces ha surgido una solución más simple: instalar system-config-samba

sudo apt-get install system-config-samba

Antes de comenzar, es posible que desee restablecer el samba.conf a su estado original. Para asegurarse de que no se hayan introducido errores de sintaxis "ocultos" durante toda la resolución de problemas

El panel de control es bastante simple:

  • haga clic en el signo '+'
  • seleccionar directorio
  • hacer visible (y escribible?)
  • ir a la pestaña 'Acceso'
  • elija 'Permitir acceso a cualquiera'

Una forma alternativa (y un poco más adecuada) de hacerlo:

  • crea un usuario * nix llamado: invitado (o lo que quieras)
    • por razones de seguridad, asegúrese de que "invitado" tenga /bin/falsecomo shell de inicio de sesión (a menos que desee que el invitado también pueda iniciar sesión a través de ssh, etc.)
  • en el menú "Preferencias": seleccione "Usuarios de Samba"
  • asegúrese de que "invitado" esté en la lista: si no lo está, créelo.

entonces

  • en el menú "Preferencias": seleccione "Configuración del servidor"
  • En la pestaña "Seguridad": por "Cuenta de invitado", seleccione 'invitado'

Ahora, cualquiera que intente iniciar sesión de forma anónima será asignado al usuario 'invitado' y, por lo tanto, tendrá todos los derechos que tenga 'invitado'.

  • ahora cree el recurso compartido como se describió anteriormente, excepto que en lugar de elegir "Permitir acceso a todos", simplemente seleccione "invitado".

asegúrese de que el 'invitado' del usuario * nix tenga suficientes derechos para leer y / o escribir en la carpeta compartida.

¡Buena suerte!

/ B2S

Born2Smile
fuente
2

Para que los nuevos sistemas Windows accedan a los recursos compartidos de Ubuntu Samba actuales / antiguos, debe habilitar el cifrado de contraseña (cifrar contraseñas = sí en smb.conf).

Lo que ha cambiado en Windows 7 es que han establecido un requisito de seguridad para que las contraseñas de Samba se cifren. Lo mismo se aplica a XP si tiene instalado KB2536276.

Estuve dando vueltas y vueltas con este problema en nuestra red en el trabajo hasta que encontré la solución de cambiar ese " no " a " " en las contraseñas cifradas. Esto todavía funciona para un recurso compartido abierto al que todos tienen acceso de lectura / escritura sin contraseña; aunque no tenga una contraseña, aún debe decirle a Windows que la contraseña inexistente está encriptada para que Windows le permita ingresar allí.

Esta respuesta supone que tiene todo lo demás configurado para que Samba funcione correctamente, como los usuarios (o la falta de ellos) y los permisos establecidos.

Para la cuota de fácil apertura / sin contraseñas, etc, asegúrese de que tiene security = share, guest account = nobodyy / o map to guest = Bad Useren el conf.

Remo
fuente
1

Lamento decir esto, pero tuve el mismo problema, mi computadora era indetectable en LAN, después de eso reinstalé el sistema (reinstalación clara con formato completo) y todo funcionó bien.

antivirtel
fuente
1

Si usa Windows 7, es posible que deba cambiar la configuración de su registro:

Consulte la wiki de Samba para obtener más información o simplemente ejecute el archivo Win7_SambaDomainMember.reg

Si usa Ubuntu 11.10, asegúrese de tener instalado python-glade2

sudo apt-get install python-glade2
David LeBauer
fuente
1

Una solución fácil para compartir su carpeta de inicio es descomentar las líneas en la [homes]sección de /etc/samba/smb.conf (elimine ";")

max
fuente
0

Creo que debería comprobar si tienes reglas de firewall / iptables que lo impidan. Si no está seguro, la forma más fácil es (y también administrar iptables en el futuro) para instalar ufw y

sudo ufw allow samba
sudo ufw enable
eXlin
fuente
ufw ya está configurado para permitir samba.
koanhead el