Ubuntu + última versión de samba, los enlaces simbólicos ya no funcionan en el recurso compartido montado en Windows


14

Acabo de obtener apt-get (apt-got?) El último software para mi Ubuntu 9.10 linux box, y noté que samba estaba incluido en la actualización.

Después de la instalación, los enlaces simbólicos en mi directorio principal ya no funcionan cuando se montan como una unidad en mi caja de Linux. Funcionaron literalmente segundos antes de que hiciera la actualización. Todos mis directorios normales funcionan bien. Al ver la lista de directorios en la línea de comandos, todos los archivos, directorios y enlaces tienen exactamente los mismos permisos, sin embargo, este es el error que obtengo:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Miré en los foros y vi esta opción para smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Los puse, pero no tuvieron efecto. ¿Alguien ha tenido este problema todavía?

Respuestas:


19

Hubo un problema de seguridad reciente en Samba ( 5 de febrero de 2010 ), un exploit de día cero que explotó una configuración predeterminada insegura. Según una publicación de Ubuntu Forums sobre el tema, la opción de "enlaces anchos" ahora tiene el valor predeterminado no .

Aparentemente, el nombre de la opción cambió desde las instrucciones anteriores que encontró.

Agregar esto a la sección global de su archivo smb.conf debería solucionar el problema:

follow symlinks = yes
wide links = yes
unix extensions = no

Después de guardar smb.conf , asegúrese de reiniciar Samba:

sudo /etc/init.d/samba restart

1
Creo que la configuración recomendada es poner follow symlinksy wide linksen la sección del recurso compartido (en lugar de global) por razones de seguridad. La unix extensionsdirectiva debe ir a la sección global como lo señala el usuario 36732 a continuación.
Mateo

no me funcionó; servidor samba en raspberrypi ubuntu: cifs mount en arch linux.
Necktwi

2

Esto también me ayudó, aunque no pensé que lo haría. Tengo dos recursos compartidos de Samba en mu Ubuntu. En ambas partes utilizo enlaces simbólicos pero en un disrectorio (compartido) los enlaces simbólicos funcionaban pero en otro disrectorio (también compartido) no funcionaban.

No tuve problemas para seguir los enlaces en Linux, pero en Win no funcionaría.

Incluso podría usar dos ventanas puTTy una al lado de la otra, una en mi directorio / data y otra en mi directorio / data2 y emitir el mismo comando: ln -s / data3 / Mydata.

El directorio Mydata aparecería en mis dos unidades asignadas en el cuadro Win, pero en un caso funcionaría, pero en el otro obtendría un error de "Acceso denegado".

Las "extensiones de Unix = no" hicieron el truco, pero no sé por qué ...


0

He tenido el mismo problema, pero para mí, poner "extensiones de unix = no" en la sección [global] de smb.conf solucionó el problema. Es importante que lo coloque en el indicador de extensión de Unix en la sección global (válido para todos los recursos compartidos), ya que esto se analiza antes de que Samba sepa a qué recurso compartido se conecta el usuario. La opción Enlaces anchos puede ir al recurso compartido al que se aplica.

Solo un comentario para aquellos que fueron mordidos por este comportamiento y quieren evitar eventos similares en el futuro: el equipo de samba no lee los rastreadores de errores de distribución, pero tienen su propia lista:

samba-technical@lists.samba.org

El equipo de samba vive bajo la impresión de que solo una pequeña minoría de personas se ve afectada por este error, y solo pueden convencerse de lo contrario si más personas hacen oír su voz. Entonces, si le importa, envíe una nota a samba-technical@lists.samba.org

Gracias,

Alain


0

NB: ya publiqué esto para responder otra pregunta , pero cuando publiqué solo el enlace, mi respuesta (¡muy corta!) Se convirtió en un comentario a esta pregunta inicial (ver arriba) y se volvió ligeramente invisible. Entonces, para la visibilidad, aquí está la respuesta completa nuevamente:

Para permitir que los clientes de Samba sigan enlaces simbólicos fuera de la ruta compartida, todo lo que necesita en la configuración de Samba es:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(Además de las definiciones de Samba comparte, por supuesto). Esto es, teóricamente, suficiente para clientes * nix.

NB: la directiva "seguir enlaces simbólicos" no es necesaria ya que por defecto es "sí"

En cuanto a los clientes de Windows, todavía falta 1 configuración para permitirles seguir dichos enlaces. Para hacerlo:

  1. abrir un shell de Windows con privilegios de administrador
  2. correr :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. reiniciar para recargar la configuración

NB: se puede obtener el mismo resultado editando el registro de Windows. Ver enlaces a continuación

fuentes:

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.