¿Por qué las redes Linux usan Samba?

9

La característica "compartir archivos e impresoras" de las distribuciones de Linux es principalmente Samba. Samba es una interpretación del sistema de archivos de red de Microsoft.

La compatibilidad entre sistemas operativos es importante, por supuesto, pero ¿por qué los sistemas Linux están predeterminados para esta tecnología de Microsoft?

¿Es tan bueno el sistema de archivos de red de Microsoft? Samba claramente funciona muy bien y no lo estoy "disimulando".

O, para reformular la pregunta, "¿Cuál sería una forma nativa de Linux de compartir archivos e impresoras a través de una red?"

Dougal
fuente
He usado Samba durante bastante tiempo y no diría que funciona "bien" ... Funciona, pero es terriblemente lento, especialmente en comparación con NFS. Reservo Samba para los casos en que Windows boxen está involucrado en las necesidades de compartir.
Brian Knoblauch el
Huh Tendería a usar CUPS casi exclusivamente para compartir impresoras; Solo involucraría a Samba si estaba involucrado 9x o NT <5, desde 2000 y más nuevos admiten IPP directamente (solo ingrese la URL de la impresora cuando se le solicite ingresar la ruta compartida).
SamB
Lo que ustedes se refieren como "sistema de archivos de Microsoft de red" (SMB) fue escrito por IBM
symcbean

Respuestas:

10

¿Es tan bueno el sistema de archivos de red de Microsoft?

Desde la perspectiva de que está en todas partes, entonces sí, es bueno. Si está preguntando si es un buen protocolo, la respuesta es que en realidad no es tan bueno. Tiene grandes problemas en enlaces con alta latencia. Tiene demasiados comandos redundantes. Microsoft ha solucionado mucho de esto con SMB2.

¿Los sistemas Linux predeterminados a esta tecnología de Microsoft?

Hay muchos usuarios que requieren que sus cajas de Linux puedan participar en una red heterogénea. SMB es el mínimo común denominador que parece ser compatible con todos los sistemas operativos comunes.

¿Cuál sería una forma nativa de Linux para compartir archivos e impresoras?

NFS es probablemente el protocolo de intercambio de archivos * nix más estándar.

LPR o CUPS es el protocolo de impresión más común.

Personalmente, deseo que webdav sea más común para compartir archivos. Pero todavía tengo que encontrar un buen demonio webdav para * nix.

Zoredache
fuente
1
Estoy de acuerdo con WebDAV. Lo uso mucho a través de Apache, pero definitivamente es un ciudadano de segunda clase tanto en el servidor como en el escritorio.
Mark Porter el
11

Los dos grandes sistemas de intercambio de archivos para Linux son NFS y SAMBA. Corremos ambos aquí por diferentes razones. Aquí hay una lista pro / con-off-the-top-of-my-head

NFS

  • + Servidor a servidor
  • + Rápido
  • + Fácil de configurar para un pequeño número de usuarios
  • + Muy confiable para agrupamiento / Alta disponibilidad
  • - Cada máquina cliente necesita su propia configuración en / etc / exports
  • - Opciones de seguridad muy limitadas.
  • - Los usuarios deben coincidir tanto en el servidor como en el cliente para preservar los permisos de Unix
  • - Los enlaces simbólicos al contenido fuera del recurso compartido fallarán, o peor aún, usarán recursos del mismo nombre en el cliente

SAMBA

  • + Servidor a usuario
  • + Configuración muy flexible
  • + Capacidad para usar autenticación por usuario contra Active Directory, LDAP, usuarios locales, usuarios de samba
  • + Compatibilidad con la mayoría de los otros sistemas operativos
  • + Posibilidad de compartir impresoras
  • + Posibilidad de guardar archivos con permisos arbitrarios.
  • + Opcionalmente admite permisos completos de UNIX
  • + Posibilidad de hacer que los enlaces simbólicos a recursos fuera del recurso compartido parezcan estar dentro del recurso compartido. Por ejemplo, para reexportar un recurso compartido montado.
  • - Gastos generales un poco más altos que NFS
  • - La configuración flexible es fácil de fastidiar
  • - Problemas de almacenamiento en caché / bloqueo. Si no todos los usuarios usan samba para acceder a los archivos, es posible que algunos usuarios no vean cambios en los archivos
  • - Problemas de Microsoft. A MS le gusta "mejorar" la especificación cada pocos años, por lo que el futuro cliente de escritorio de Windows no podrá conectarse a su servidor Samba. El equipo de Samba es bueno para mantenerse al día con la EM, pero debe ser consciente de esto
Mark Porter
fuente
1
/ etc / exports admite la notación cidr o netmask, por lo que para el caso común de exportar a un bloque contiguo no es necesario enumerar cada cliente explícitamente. Además, wrt. el enlace simbólico, ver samba.org/samba/news/symlink_attack.html
janneb
Ambos buenos puntos. O tenemos "enlaces anchos" o "extensiones de Unix", pero no ambos. Esto se remonta a que el Samba es flexible y fácil de fastidiar. Con respecto a la máscara de red en NFS, tiene toda la razón. Si se siente cómodo dando acceso a máquinas que no conoce (como en una pequeña subred privada administrada), puede ahorrar mucho esfuerzo. Trabajo en un hospital universitario y tendemos a tratar incluso la intranet como una red no confiable.
Mark Porter el
1
En realidad, MS es bastante bueno para asegurarse de que Windows pueda usar recursos compartidos SMB de los sistemas al menos un par de versiones, por lo que mientras Samba pueda mantenerse al menos tan bien, no debería ser un problema. Un desastre para los desarrolladores, cierto, pero creo que pueden manejarlo. (¡No, no me mates, Jelmer! ¡No estaba sugiriendo que empeoraran las cosas!)
SamB
8

Samba alcanzó su prominencia en gran parte porque permite que las estaciones de Windows no modificadas hablen con él, y dado que Windows es típicamente la mayor población de usuarios de escritorio en cualquier red, lo que lo hace más interesante. La otra población, los usuarios de Mac, pueden usar el paquete Netatalk mal mantenido, o mucho más comúnmente el paquete Samba integrado en su sistema operativo. En resumen, Samba es una bomba porque funciona mejor en redes heterogéneas.

Las soluciones de servicio de archivos de código abierto con una exposición de patentes incuestionable no son tan amigables para el usuario de escritorio. NFS es prácticamente eso, lo que requiere un montaje raíz y hasta hace muy poco tenía muy pocas funciones de seguridad integradas. Los paquetes FuseFS han recorrido un largo camino para hacer esto mucho más fácil para los usuarios de escritorio-linux, ya que permite que cosas como SSH / SFTP sean un protocolo de servicio de archivos en lugar de un protocolo para compartir archivos ; Archivo -> Guardar -> Buscar ubicación, funcionará con FuseFS.

sysadmin1138
fuente
2

Compartir archivos de Linux sería NFS y compartir impresoras sería CUPS. Pero hay muchos otros archivos compartidos que se enumeran a continuación, como SSH, FTP, SFTP, etc.

xeon
fuente
1

Protocolos como FTP, HTTP, NFS y SSH. Por lo general, solo uso el intercambio de archivos SAMBA para transferir convenientemente archivos entre plataformas.

Warner
fuente
0

El uso compartido de archivos estándar de UNIX es NFS. Sin embargo, eso es solo UNIX, como la gente ha dicho. NFS también tiene algunos problemas con los inicios de sesión de mapeo, etc. Las implementaciones de SAMBA existen en muchos sistemas y brindan las más amplias opciones de conectividad. Las máquinas Windows, las máquinas Linux y las Mac modernas pueden usar SAMBA. Si usa eso, tiene la garantía de que otras máquinas pueden conectarse.

malvadedad
fuente
1
NFS no es solo Unix. Puede instalar servicios para Unix en un cuadro de Windows y acceder a nfs, pero la configuración es difícil.
Zoredache
Si, buen punto. Me había olvidado de los Servicios para Unix en Windows. Sin embargo, no son solo servidores, y solo para compartir: no puedo conectarme a un recurso compartido NFS con él, según recuerdo. Debería haber explicado más claramente.
mauvedeity
Tengo una máquina virtual win7 aquí, que se conecta a un recurso compartido NFS basado en Linux muy fácilmente.
dyasny
1
En caso de que alguien quiera probar Client for NFS en Windows. technet.microsoft.com/en-us/library/cc754046.aspx
wanghq