The*_*pti 4 nfs authentication server-message-block
谁能简单介绍一下 SMB 身份验证和 NFS v.3 身份验证之间的最大区别是什么?
我认为在 SMB 中它基于用户的登录名和密码,而在 NFS 中它基于主机身份验证。
And*_*zek 12
你基本上拥有它。
SMB/CIFS 的访问基于某种类型的用户凭据(无论它们是 KRB 令牌、用户/密码对,还是您拥有的)每个会话,其中每个会话映射到一个用户。NFSv3 使用基于主机的身份验证,其中给定远程机器的所有用户共享相同的连接。SMB/CIFS,特别是 Samba 实现,还允许基于主机的允许/拒绝(如果您需要该功能);窗口文件服务器可能也可以,如果不在文件服务器子系统中,防火墙将处理它。
SMB/CIFS 还实施基于共享的身份验证,其中共享具有自己的密码。
NFSv4 可以配置为通过 kerberos 使用每用户身份验证。
NFSv3 强烈依赖远程机器通过希望远程在请求中发送真实的、跨机器一致的数字 ID 来强制执行权限,而 SMB/CIFS 根据连接(会话)验证的远程用户对本地磁盘强制执行权限。
因此,在 NFSv3 中,如果用户在远程机器上拥有 root 用户,他们通常(即默认情况下)对整个 NFSv3 共享拥有只读 root 访问权限,并且可以模拟任何其他用户 ID。对于单用户计算机的共享,NFS 将 all_squash 作为一种解决方法,但这是每个 IP 的。
另一方面,大多数类 Unix 的 smb.mount 实现(linux pre-3.3、freebsd、solaris)不支持系统范围的多会话(多用户)挂载,因此在挂载远程 SMB 文件系统时,您的系统会话是只有用户在安装时设置,即。所有用户都以挂载时设置的用户名权限进行操作。Linux 3.3 及更高版本有 cifscreds 来缓解,并且有 FUSE SMB/CIFS 实现可用。正如预期的那样,这对于 Windows 客户端来说从来都不是问题。
同样在 NFSv3 中,您的数字 UID 必须精确映射:客户端计算机上的用户 1001 将被授予服务器上用户 1001 的权限;没有文本用户名映射。由于 SMB/CIFS 将 ID 绑定到会话,因此映射是自动的;您的共享 UID 与您的凭据匹配。
NFSv4 具有用于 ID 映射 GSS 域身份验证用户的守护程序,但如果您尚未部署 GSS 域,则同步 UID 可能更容易。
NFSv3 和更早的版本在支持 ACL 的情况下可能有点粗略(xattrs 是正确的)。NFS 的“POSIX ACL”是在边带 RPC(不在主协议中)实现的,所以还有一些事情可能会出错,并不是所有的操作系统都支持 NFS 的 POSIX ACL。
SMB/CIFS 通常在 ACL 方面没有问题。如果您需要修改它们,Windows 和类 Unix 客户端可以使用其标准机制(分别为 GUI 和 setfacl)修改 Samba 共享。我不确定类似 Unix 的客户端是否可以修改 Windows 文件服务器共享上的类似 ACL 的权限。
NFSv4 内置了 ACL。
归档时间: |
|
查看次数: |
19774 次 |
最近记录: |