cifs是一种文件共享协议。nfs是一种卷共享协议。两者之间的区别最初可能并不明显。

nfs本质上是直接共享/dev/sda1的一小步。客户机实际上接收文件系统的共享子集的裸视图,包括(至少从nfsv4开始)用户可以访问哪些文件的描述。由客户端实际管理允许哪个用户访问哪些文件的权限。

另一方面,cifs在服务器端管理用户,并可以提供每个用户的文件视图和访问权限。在这方面,它类似于ftp或webdav,但具有读取/写入文件任意子集的能力,以及与锁定相关的一些其他功能。

这听起来可能像nfs明显低于cifs,但实际上它们的目的不同。对于通过以太网连接的外部硬盘驱动器和虚拟云存储,nfs最为有用。在这种情况下,它的目的是与机器共享驱动器本身,但只需通过以太网而不是通过sata来实现。对于这个用例,nfs提供了更大的简单性和速度。正如您所使用的,NAS实际上就是一个完美的例子。它并不意味着要管理访问,而是意味着首先不要暴露在不应该访问它的系统中。

如果您必须使用nfs,那么有两种方法来保护它。nfsv4有一个基于kerberos的可选安全模型。祝你好运。一个更好的选择是不允许从主机直接连接到nfs服务,而是需要通过一些安全通道,比如ssh端口转发。然后保安开始建立隧道。但是,其中任何一个都需要主机的合作,这在您的NAS中可能是不可能的。

请注意,如果您已经在使用cifs并且它运行良好,并且它给您提供了良好的访问控制,那么没有充分的理由进行切换(不过,为了安全起见,您必须关闭nfs)。但是,如果您有一个Docker样式的主机,那么在Docker主机上播放iptables(或您选择的防火墙)可能是值得的,以防止其他容器首先访问NAS。与其将安全性委托给NAS,不如在Docker主机级别完成。