为什么 Linux 网络使用 Samba?

Dou*_*gal 9 linux network-share samba

Linux 发行版的“文件和打印机共享”功能主要是 Samba。Samba 是对微软网络文件系统的一种解释。

跨操作系统兼容性当然很重要,但为什么 Linux 系统默认采用这种 Microsoft 技术?

微软的网络文件系统有那么好吗?Samba 显然效果很好,我并没有“贬低”它。

或者,重新表述这个问题,“在网络上共享文件和打印机的 Linux 原生方式是什么?”

Mar*_*ter 11

Linux 的两大文件共享系统是 NFS 和 SAMBA。我们出于不同的原因在这里运行。这是一个不为人知的利弊列表

NFS

  • +服务器到服务器
  • +快速
  • +易于为少量用户设置
  • +非常可靠的集群/高可用性
  • -每个客户端机器都需要在 /etc/exports 中有自己的配置
  • -非常有限的安全选项。
  • -用户必须在服务器和客户端上匹配以保留 unix 权限
  • -共享外内容的符号链接将失败,或者更糟的是在客户端使用同名资源

桑巴

  • +服务器到用户
  • +非常灵活的配置
  • +能够对 Active Directory、LDAP、本地用户、samba 用户使用每用户身份验证
  • +与大多数其他操作系统的兼容性
  • +能够共享打印机
  • +能够以任意权限保存文件。
  • +可选地支持完整的 UNIX 权限
  • +能够使共享外部资源的符号链接看起来在共享内部。例如,重新导出已安装的共享。
  • -开销比 NFS 略高
  • -灵活的配置很容易搞砸
  • -缓存/锁定问题。如果并非所有用户都使用 samba 访问文件,则某些用户可能看不到文件更改
  • -微软问题。MS 喜欢每隔几年“改进”规范,因此未来的 Windows 桌面客户端可能无法连接到您的 Samba 服务器。Samba 团队很擅长跟上 MS,但你必须意识到这一点


Zor*_*che 10

微软的网络文件系统有那么好吗?

从它无处不在的角度来看,是的,它是好的。如果你问它是否是一个好的协议,那么答案是它并不是那么好。它在具有高延迟的链路上存在很大问题。它有太多的冗余命令。Microsoft 已经通过 SMB2 解决了很多问题。

Linux 系统默认采用这种 Microsoft 技术?

有很多用户要求他们的 Linux 机器能够参与异构网络。SMB 是最低公分母,似乎在所有常见操作系统上都受支持。

共享文件和打印机的 Linux 原生方式是什么

NFS 可能是最标准的 *nix 文件共享协议。

LPR 或 CUPS 是最常见的打印协议。

我个人强烈希望 webdav 在文件共享方面变得更加普遍。但是我还没有为 *nix 找到一个非常好的 webdav 守护进程。


sys*_*138 8

Samba之所以声名显赫,很大程度上是因为它允许未经修改的 Windows 工作站与之对话,而且 Windows 通常是任何给定网络上最大的桌面用户群,这使得它更有趣。其他人群,Mac 用户,可以使用维护不善的 Netatalk 包,或者更常见的是内置在他们的操作系统中的 Samba 包。简而言之,Samba 是一颗炸弹,因为它在异构网络中效果最好。

具有无可置疑的专利公开的纯开源文件服务解决方案对桌面用户并不友好。NFS 几乎就是它,它需要 root-mount 并且直到最近才几乎没有内置的安全功能。FuseFS 包已经大大简化了桌面 Linux 用户的工作,因为它允许 SSH/SFTP 之类的东西成为文件服务协议而不是文件共享协议;文件 -> 保存 -> 浏览到位置,将与 FuseFS 一起使用。