挂载 -t nfs 与 cifs 的区别

4

我有一个需要挂载NFS的要求。经过多次尝试,我成功地在我的Linux系统上挂载了NAS上的NFS文件系统。我们还在评估当NFS无法工作时是否可以使用CIFS。手册太混乱了,网上也找不到任何清晰的解释。我的问题是 - 如果NFS存在问题,是否可以使用“mount -t cifs”代替?CIFS是否总是可用作NFS的替代品。


1
你需要询问管理你的NAS的人员。一些NAS设备可以同时提供NFS和CIFS,有些只能提供其中之一,或者完全不同的其他协议。即使你的NAS可以同时提供两种协议,也可能被配置为不提供其中之一。 - twalberg
感谢@twalberg。我知道这是一个愚蠢的问题,但有时设置NAS的人已经不在了。有时,NAS的物理位置也是远程的。在这种情况下,我们如何从CLI或控制台找出答案? - Rockoder
从Windows电脑上尝试打开\\servername。如果存在,就会建立连接;如果不存在,则会出现错误提示。 - Sobrique
@Rockoder 如果你只有一个IP地址,那么肯定有人在那个盒子上做过什么,建议你配置它用于其他用途。看看能否获得当前客户端的访问权限,这样你就可以研究一个工作配置。它可能会为你提供你缺乏的答案(甚至指引你去问尚未提出的问题)。 - Edwin Buck
这是我曾经遇到的同样问题。在我的情况下,我使用了cifs,因为某些原因nfs一直失败,即使nfs服务器已经授予了每个人都能够挂载的权限。我意识到的一件事是符号链接在cifs挂载中不起作用。 - PMat
2个回答

5
很难回答,因为这取决于服务器。
NFS和CIFS不是不同的文件系统 - 它们是访问服务器端导出的不同协议。
一般来说:
- NFS是Unix使用的,因为它与Unix权限模型相吻合。 - CIFS通常是Windows使用的。(它也使用了不同的权限模型)。
两者之间的主要区别在于CIFS在用户上下文中操作 - 用户访问CIFS共享。而NFS在主机上下文中操作 - 主机挂载NFS文件系统,并将本地用户权限映射(以多种方式,具体取决于NFS版本和身份验证模式)。
但是,由于它们使用不同的权限和授权机制,您不能可靠地将NFS导出作为CIFS挂载。它依赖于服务器支持,并处理权限映射。您需要向拥有该服务器的人询问详细信息。

2

CIFS并不总是可用的(但通常是可用的)。当它可用时,NFS对于类Unix客户端的工作效果比CIFS更好。

要查看服务器上是否有CIFS,请使用smbclient(1)程序,可能是“smbclient -L servername”。

要从Unix中使用CIFS,通常需要知道CIFS服务器的用户名和密码,并在挂载命令或fstab条目中引用它们。您可以将密码放在受保护的文件中,并将该文件用于挂载。

如果您不知道CIFS服务器管理员以获取用户/密码,则会遇到许多问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接