Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

了解 ONTAP SMB 只读位

贡献者 netapp-bhouser netapp-aaron-holt netapp-aherbin

只读位会逐个文件进行设置,以反映文件是可写(已禁用)还是只读(已启用)。

使用 Windows 的 SMB 客户端可以设置每个文件的只读位。NFS 客户端不会设置每个文件只读位,因为 NFS 客户端不会执行任何使用每个文件只读位的协议操作。

当使用 Windows 的 SMB 客户端创建文件时, ONTAP 可以在该文件上设置只读位。在 NFS 客户端和 SMB 客户端之间共享文件时, ONTAP 还可以设置只读位。NFS 客户端和 SMB 客户端使用某些软件时,需要启用只读位。

要使 ONTAP 对 NFS 客户端和 SMB 客户端之间共享的文件保持适当的读写权限,它会根据以下规则处理只读位:

  • NFS 会将启用了只读位的任何文件视为未启用写入权限位。

  • 如果 NFS 客户端禁用了所有写入权限位,并且先前至少启用了其中一个位,则 ONTAP 会为该文件启用只读位。

  • 如果 NFS 客户端启用任何写入权限位,则 ONTAP 会禁用该文件的只读位。

  • 如果启用了文件的只读位,而 NFS 客户端尝试发现文件的权限,则不会将文件的权限位发送到 NFS 客户端;而 ONTAP 是将权限位发送到 NFS 客户端,并屏蔽写入权限位。

  • 如果启用了文件的只读位,而 SMB 客户端禁用了只读位,则 ONTAP 将为此文件启用所有者的写入权限位。

  • 启用了只读位的文件只能由 root 用户写入。

只读位以下列方式与 ACL 和 Unix 模式位交互:

当文件设置了只读位时:

  • 该文件的 ACL 不会发生任何更改。NFS客户端将看到与设置只读位之前相同的 ACL。

  • 任何允许对文件进行写访问的 Unix 模式位都会被忽略。

  • NFS 和 SMB 客户端都可以读取该文件,但不能修改它。

  • ACL 和 UNIX 模式位将被忽略,取而代之的是只读位。这意味着,即使 ACL 允许写入访问,只读位也会阻止修改。

当文件未设置只读位时:

  • ONTAP根据 ACL 和 UNIX 模式位确定访问权限。

    • 如果 ACL 或 UNIX 模式位拒绝写访问,则 NFS 和 SMB 客户端无法修改该文件。

    • 如果 ACL 和 UNIX 模式位均不拒绝写访问,则 NFS 和 SMB 客户端可以修改该文件。

备注

对文件权限的更改会立即在 SMB 客户端上生效,但如果 NFS 客户端启用属性缓存,则可能不会立即在 NFS 客户端上生效。