JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:ZFS 文件系统     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris ZFS 文件系统(介绍)

2.  Oracle Solaris ZFS 入门

3.  Oracle Solaris ZFS 与传统文件系统之间的差别

4.  管理 Oracle Solaris ZFS 存储池

5.  管理 ZFS 根池组件

6.  管理 Oracle Solaris ZFS 文件系统

7.  使用 Oracle Solaris ZFS 快照和克隆

8.  使用 ACL 和属性保护 Oracle Solaris ZFS 文件

新 Solaris ACL 模型

ACL 设置语法的说明

ZFS ACL 集合

ACL 继承

ACL 属性

设置 ZFS 文件的 ACL

以详细格式设置和显示 ZFS 文件的 ACL

以详细格式对 ZFS 文件设置 ACL 继承

以缩写格式设置和显示 ZFS 文件的 ACL

向 ZFS 文件应用特殊属性

9.  Oracle Solaris ZFS 委托管理

10.  Oracle Solaris ZFS 高级主题

11.  Oracle Solaris ZFS 故障排除和池恢复

12.  归档快照和根池恢复

13.  建议的 Oracle Solaris ZFS 做法

A.  Oracle Solaris ZFS 版本说明

索引

设置 ZFS 文件的 ACL

正如 ZFS 所实现的那样,ACL 由 ACL 项的数组构成。ZFS 提供了一个 ACL 模型,其中所有文件都包括 ACL。通常,ACL 很普通,因为它仅表示传统的 UNIX owner/group/other 项。

ZFS 文件仍然具有权限位和模式,但这些值大部分是 ACL 所表示内容的高速缓存。因此,如果更改文件的权限,该文件的 ACL 也会相应地更新。此外,如果删除授予某一用户对文件或目录访问权限的非普通 ACL,而该文件或目录的权限位将访问权限授予组或所有用户,则该用户仍可访问这一文件或目录。所有访问控制决策都由文件或目录的 ACL 中表示的权限来管理。

对于 ZFS 文件,ACL 访问权限的主要规则如下:

如果在某个目录上设置了非普通 ACL,则该目录的子项不会自动继承该 ACL。如果设置了非普通 ACL 并希望目录的子项继承该 ACL,则必须使用 ACL 继承标志。有关更多信息,请参见表 8-4以详细格式对 ZFS 文件设置 ACL 继承

创建新文件时,根据 umask 值将应用类似如下的缺省的普通 ACL:

$ ls -v file.1
-rw-r--r--   1 root     root      206663 Jun 23 15:06 file.1
     0:owner@:read_data/write_data/append_data/read_xattr/write_xattr
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     1:group@:read_data/read_xattr/read_attributes/read_acl/synchronize:allow
     2:everyone@:read_data/read_xattr/read_attributes/read_acl/synchronize
         :allow

在本例中,每个用户类别(owner@group@everyone@)有一个 ACL 项。

此文件 ACL 的说明如下:

0:owner@

所有者可以读取和修改文件的内容 (read_data/write_data/append_data/read_xattr)。所有者还可以修改文件的属性,如时间戳、扩展属性和 ACL (write_xattr/read_attributes/write_attributes/ read_acl/write_acl)。此外,所有者还可以修改文件的所有权 (write_owner:allow)。

synchronize 访问权限当前未实现。

1:group@

向组授予对文件和文件属性的读取权限 (read_data/read_xattr/read_attributes/read_acl:allow)。

2:everyone@

向用户或组之外的所有用户授予对文件和文件属性的读取权限 (read_data/read_xattr/read_attributes/read_acl/synchronize:allow)。synchronize 访问权限当前未实现。

创建新目录时,根据 umask 值,缺省目录 ACL 将类似如下:

$ ls -dv dir.1
drwxr-xr-x   2 root     root           2 Jul 20 13:44 dir.1
     0:owner@:list_directory/read_data/add_file/write_data/add_subdirectory
         /append_data/read_xattr/write_xattr/execute/delete_child
         /read_attributes/write_attributes/read_acl/write_acl/write_owner
         /synchronize:allow
     1:group@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow
     2:everyone@:list_directory/read_data/read_xattr/execute/read_attributes
         /read_acl/synchronize:allow

此目录 ACL 的说明如下:

0:owner@

所有者可以读取和修改目录内容 (list_directory/read_data/add_file/write_data/add_subdirectory/append_data),以及读取和修改文件的属性,如时间戳、扩展属性和 ACL (/read_xattr/write_xattr/read_attributes/write_attributes/read_acl/write_acl )。此外,所有者可以搜索内容 (execute),删除文件或目录 (delete_child),以及修改目录的所有权 (write_owner:allow)。

synchronize 访问权限当前未实现。

1:group@

组可以列出和读取目录内容和目录属性。此外,组还具有搜索目录内容的执行权限 (list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow )。

2:everyone@

向用户或组之外的所有人员授予对目录内容和目录属性的读取和执行权限 (list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow)。synchronize 访问权限当前未实现。