为什么Linux网络使用Samba?


9

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

跨OS兼容性当然很重要,但是Linux系统为什么默认使用此Microsoft技术?

微软的网络文件系统这么好吗?桑巴显然工作得很好,我不是在“讨论”它。

或者,换个说法,“在网络上共享文件和打印机的Linux原生方式是什么?”


我已经使用Samba相当一段时间了,我不会说它能“很好”地工作...它能工作,但是速度非常慢,尤其是与NFS相比。我将Samba保留用于共享需求涉及Windows Boxen的情况。
Brian Knoblauch

嗯 我倾向于将CUPS几乎完全用于打印机共享。自2000年以来,我只涉及Samba,如果涉及9x或NT <5,则从2000年开始,并且较新的版本直接支持IPP(在要求输入共享路径时,只需输入打印机URL)即可。
SamB 2010年

您所说的“ Microsoft的网络文件系统”(SMB)是IBM编写的
symcbean 2011年

Answers:


10

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

从无处不在的角度来看,那是好的。如果您问它是否是一个好的协议,那么答案是它并不是真的那么好。对于高延迟的链接,它存在很大的问题。它有太多冗余命令。Microsoft已使用SMB2修复了许多此类问题。

Linux系统默认使用此Microsoft技术吗?

有很多用户要求他们的Linux机器能够加入异构网络。SMB是似乎所有通用操作系统都支持的最低公分母。

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

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

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

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


1
我同意WebDAV。我在Apache上经常使用它,但它绝对是服务器和台式机上的二等公民。
Mark Porter 2010年

11

Linux的两大文件共享系统是NFS和SAMBA。由于不同的原因,我们在这里都运行。这是我的头等舱清单

NFS

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

桑巴

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

1
/ etc / exports支持cidr或netmask表示法,因此对于导出到连续块的常见情况,无需显式列出每个客户端。另外,wrt。符号链接,请参见samba.org/samba/news/symlink_attack.html
janneb 2010年

两者都很好。我们要么有“宽链接”或“ unix扩展”,但没有两个。这可以回溯到Samba灵活且易于搞砸的情况。关于NFS中的网络掩码,您绝对正确。如果您愿意访问您不知道的计算机(例如在小型托管私有子网中),则可以节省很多工作。我在一家大学医院工作,我们甚至倾向于将Intranet视为不受信任的网络。
Mark Porter 2010年

1
实际上,MS在确保Windows至少可以使用几个发行版的系统中使用SMB共享方面做得很好,因此只要Samba至少能够保持这样的水平就应该不是问题。对开发人员来说,是一团糟,是的,但是我认为他们可以管理。(不,别杀了我,耶尔默!我并不是在暗示他们会让事情变得更糟!)
SamB 2010年

8

Samba 之所以受到关注是因为它允许未经修改的Windows工作站与之对话,并且Windows通常是任何给定网络上最大的桌面用户群体,这使得它变得更加有趣。其他用户(Mac用户)可以使用维护不太完善的Netatalk软件包,或更常见的是使用内置在其操作系统中的Samba软件包。简而言之,Samba是炸弹,因为它在异构网络中表现最佳。

拥有毫无疑问的专利保护的纯开放源代码文件服务解决方案并不是桌面用户友好的。NFS差不多了,它需要一个根目录安装,并且直到最近才几乎没有内置的安全功能。FuseFS软件包为台式机Linux用户简化了很多工作,因为它允许SSH / SFTP之类的东西成为文件服务协议,而不是文件共享协议。文件->保存->浏览位置,将与FuseFS一起使用。


2

Linux文件共享将是NFS,共享打印机将是CUPS。但是下面列出了许多其他文件共享,例如SSH,FTP,SFTP等。


1

协议,例如FTP,HTTP,NFS和SSH。我通常仅使用SAMBA文件共享来在平台之间方便地传输文件。



0

标准UNIX文件共享是NFS。但是,正如人们所说,这仅是UNIX。NFS在映射登录名等方面也存在一些问题。SAMBA实现存在于许多系统上,并提供最广泛的连接选项。Windows机器,Linux机器和现代Mac都可以使用SAMBA。如果使用它,则可以保证其他计算机可以连接。


1
NFS不仅是Unix。您可以在Windows机器上安装用于Unix的服务并访问nfs,但是设置很麻烦。
Zoredache

是的,很好。我忘记了Windows上的Unix服务。但是,这不只是服务器,而且仅用于共享-我记得您不能用它连接到NFS共享。我应该更清楚地解释。
mauvedeity 2011年

我这里有一个win7 VM,可以很容易地连接到基于Linux的NFS共享。
dyasny 2012年

1
如果有人想在Windows上尝试NFS客户端。technet.microsoft.com/zh-CN/library/cc754046.aspx
wanghq 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.