CIFS和NFS:权限和基础文件系统

我一直在读一点,但还不完全清楚。 我的理解是,NFS的权限是相当黑或白,并由导出文件控制(我相信有选项可以为NFS客户端的本地文件系统的权限,但我通常没有看到使用)。 底层文件系统不会为NFS客户端委派权限。 CIFS如何pipe理权限? Windows ACL或NTFS权限是否控制客户端访问? 底层文件系统是否出现?

具体来说,我很好奇从NFS共享复制文件到CIFS共享。 当使用rsync -a时,应该保留权限吗? 底层文件系统在NFS还是CIFS共享上使用inode还是不使用这个问题有关系吗?

这是一个相当广泛的问题,有点取决于例如NFS版本。

然而:

NFS允许您在导出时指定安全模式。 它也允许你应用限制,哪些服务器可以装载你的出口。 (根本不限制安装,或强制只读/无根)。

这与权限完全没有关系。 如果你的安全模式是'sys',这意味着远程系统决定如何处理authentication – 你是委托给你的远程服务器的信任 – 如果挂载客户端说'嗨,我是UID 123',那么你的服务器信任它们。

可以使用Kerberos安全模式导出NFS,这是不太可靠的。 它不是那么容易设置和工作的地方,因此没有太多的使用。 但是,Kerberos将信任关系移动到受信任的服务器 – Kerberos域控制器。 (如果你更好地了解Windows,与Windows域控制器非常相似 – 这也不是偶然的)。

使用Kerberos,您需要通过第三方进行身份validation,然后根据权限仲裁您的文件访问权限。 NFS <= V3允许“标准”用户,组,其他读/写/执行权限系统。 NFSv4支持更详细的访问控制列表。 这些也不太广泛使用,因为它们更复杂。

当你来到CIFS的时候,你正从另一个angular度走近。 CIFS份额都是关于用户上下文的。 服务器不装载CIFS共享,用户映射到它。 内置的是CIFS用户authentication。 现在(通常)通过Kerberos完成。

我将我的用户凭据(Kerberos票证)*提供给服务器,他们可以查看共享权限以查看我是否可以访问它。

共享权限独立于文件系统权限,也被应用 – 一旦我被授权共享访问权限。

我敢肯定,CIFS / Kerberos身份validation和权限与NFSv4 / Kerberos之间存在一定程度的融合并不奇怪。 事实上,我们目前正在将我们的主机环境融合到使用通用许可的过程中。

但是如果你没有使用NFSv4,你仍然需要处理CIFS组/基于angular色的权限和Unix的权限之间的映射。

  • 您不必使用Kerberos与Windows对话 – 您正在使用NTLM进行更改。 这不是一个很好的计划,但是工作方式大致相同 – 至less从权限/共享映射的angular度来看。