ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:28.21KB ,
资源ID:5979554      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5979554.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第 8 章 使用 ACL 保护 Oracle Solaris ZFS 文件.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第 8 章 使用 ACL 保护 Oracle Solaris ZFS 文件.docx

1、第 8 章 使用 ACL 保护 Oracle Solaris ZFS 文件第 8 章 使用 ACL 保护 Oracle Solaris ZFS 文件本章介绍有关使用访问控制列表 (access control list, ACL) 保护 ZFS 文件的信息。ACL 提供的权限比标准 UNIX 权限更详尽。本章包含以下各节:新 Solaris ACL 模型 设置 ZFS 文件的 ACL 以详细格式设置和显示 ZFS 文件的 ACL 以缩写格式设置和显示 ZFS 文件的 ACL 新 Solaris ACL 模型Solaris OS 的旧版本支持主要基于 POSIX 草案 ACL 规范的 ACL 实

2、现。基于 POSIX 草案 ACL 用来保护 UFS 文件,并通过 NFSv4 之前的 NFS 版本进行转换。 引入 NFSv4 后,新 ACL 模型完全支持 NFSv4 在 UNIX 和非 UNIX 客户机之间提供的互操作性。如 NFSv4 规范中所定义,这一新的 ACL 实现提供了更丰富的基于 NT 样式 ACL 的语义。新 ACL 模型的主要差别如下所列:此新 ACL 模型基于 NFSv4 规范,并与 NT 样式的 ACL 类似。新模型提供更为详尽的访问权限集。有关更多信息,请参见表82。ACL 分别使用 chmod 和 ls 命令(而非 setfacl 和 getfacl 命令)进行设

3、置和显示。新模型提供更为丰富的继承语义,以指定如何将目录的访问权限应用到子目录,等等。有关更多信息,请参见ACL 继承。两种 ACL 模型均可比标准文件权限提供更精细的访问控制。与 POSIX 草案 ACL 非常相似,新 ACL 也由多个访问控制项 (Access Control Entry, ACE) 构成。基于 POSIX 草案 ACL 使用单个项来定义允许和拒绝的权限。而新 ACL 模型包含两种类型的 ACE,用于进行访问检查: ALLOW 和 DENY。因此,不能根据任何定义一组权限的单个 ACE 来推断是否允许或拒绝该 ACE 中未定义的权限。 NFSv4 ACL 与 POSIX 草

4、案 ACL 之间的转换如下:如果使用可识别 ACL 的实用程序(如 cp、mv、tar、cpio 或 rcp 命令)将具有 ACL 的 UFS 文件传送到 ZFS 文件系统,则 POSIX 草案 ACL 会转换为等效的 NFSv4 ACL。一些 NFSv4 ACL 会转换为 POSIX 草案 ACL。如果 NFSv4 ACL 未转换为 POSIX 草案 ACL,则会显示以下类似消息:# cp -p filea /var/tmpcp: failed to set acl entries on /var/tmp/filea如果在运行当前 Solaris 发行版的系统上使用保留的 ACL 选项(ta

5、r -p 或 cpio -P)创建 UFS tar 或 cpio 归档文件,则在运行先前的 Solaris 发行版的系统中提取该归档文件时将丢失 ACL。所有文件都以正确的文件模式提取,但会忽略 ACL 项。可以使用 ufsrestore 命令将数据恢复至 ZFS 文件系统中。如果原始数据包括 POSIX 草案 ACL,则这些 ACL 会被转换为 NFSv4 ACL。如果尝试对 UFS 文件设置 NFSv4 ACL,则会显示以下类似消息:chmod: ERROR: ACL types are different如果尝试对 ZFS 文件设置 POSIX 草案 ACL,则会显示以下类似信息:# g

6、etfacl fileaFile system doesnt support aclent_t style ACLs.See acl(5) for more information on Solaris ACL support.有关对 ACL 和备份产品的其他限制信息,请参见使用其他备份产品保存 ZFS 数据。ACL 设置语法的说明基本的 ACL 格式有如下两种: 用于设置普通 ACL 的语法 ACL 很普通,因为它仅表示传统的 UNIX owner/group/other 项。chmod options Aindex+|=owner |group |everyone: access-perm

7、issions/.:inheritance-flags: deny | allow file chmod options A-owner, group, everyone:access-permissions /.:inheritance-flags:deny | allow file . chmod options Aindex- file 用于设置非普通 ACL 的语法 chmod options Aindex+|=user|group:name:access-permissions /.:inheritance-flags:deny | allow file chmod options

8、A-user|group:name:access-permissions /.:inheritance-flags:deny | allow file . chmod options Aindex- file owner, group, everyone 标识用于普通 ACL 语法的 ACL-entry-type。有关 ACL 项类型的说明,请参见表81。user|group: ACL-entry-ID(username 或 groupname) 标识用于显式 ACL 语法的 ACL-entry-type。用户和组的 ACL-entry-type 还必须包含 ACL-entry-ID、user

9、name 或 groupname。有关 ACL 项类型的说明,请参见表81。access-permissions/./标识授予或拒绝的访问权限。有关 ACL 访问权限的说明,请参见表82。inheritance-flags 标识一组可选的 ACL 继承标志。有关 ACL 继承标志的说明,请参见表83。deny | allow 标识授予还是拒绝访问权限。在以下示例中,ACL-entry-ID 值无意义。group:write_data/append_data/execute:deny由于 ACL 中包括特定用户 (ACL-entry-type),因此以下示例中包括 ACL-entry-ID。0:

10、user:gozer:list_directory/read_data/execute:allow显示的 ACL 项与以下内容类似:2:group:write_data/append_data/execute:deny本示例中的 2 为索引 ID,用于标识较大 ACL 中的 ACL 项,较大的 ACL 中可能包含对应于属主、特定 UID、组和各用户的多个项。可以使用 chmod 命令指定索引 ID,以标识 ACL 要修改的部分。例如,可将索引 ID 3 标识为 chmod 命令语法中的 A3,与以下内容类似:chmod A3=user:venkman:read_acl:allow filena

11、me下表介绍了 ACL 项类型,即属主、组和其他对象的 ACL 表示形式。 表81 ACL 项类型ACL 项类型说明owner 指定授予对象属主的访问权限。group 指定授予对象所属组的访问权限。everyone 指定向不与其他任何 ACL 项匹配的任何用户或组授予的访问权限。user 通过用户名指定向对象的其他用户授予的访问权限。此项必须包括 ACL-entry-ID,其中包含 username 或 userID。如果该值不是有效的数字 UID 或 username,则该 ACL 项的类型无效。group 通过组名指定向对象的其他组授予的访问权限。此项必须包括 ACL-entry-ID,其

12、中包含 groupname 或 groupID。如果该值不是有效的数字 UID 或 groupname,则该 ACL 项的类型无效。下表介绍了 ACL 访问权限。 表82 ACL 访问权限访问权限缩写访问权限说明add_file w 向目录中添加新文件的权限。add_subdirectory p 在目录中创建子目录的权限。append_data p 占位符。当前未实现。delete d 删除文件的权限。delete_child D 删除目录中的文件或目录的权限。execute x 执行文件或搜索目录内容的权限。list_directory r 列出目录内容的权限。read_acl c 读取 A

13、CL 的权限 (ls)。read_attributes a 读取文件的基本属性(非 ACL)的权限。将基本属性视为状态级别属性。允许此访问掩码位意味着该实体可以执行 ls(1) 和 stat(2)。read_data r 读取文件内容的权限。read_xattr R 读取文件的扩展属性或在文件的扩展属性目录中执行查找的权限。synchronize s 占位符。当前未实现。write_xattr W 创建扩展属性或向扩展属性目录进行写入的权限。向用户授予此权限意味着用户可为文件创建扩展属性目录。属性文件的权限可以控制用户对属性的访问。write_data w 修改或替换文件内容的权限。write

14、_attributes A 将与文件或目录关联的时间戳更改为任意值的权限。write_acl C 编写 ACL 或使用 chmod 命令修改 ACL 的权限。write_owner o 更改文件的属主或组的权限,或者对文件执行 chown 或 chgrp 命令的能力。获取文件拥有权的权限或将文件的组拥有权更改为由用户所属组的权限。如果要将文件或组的拥有权更改为任意用户或组,则需要 PRIV_FILE_CHOWN 权限。ACL 继承使用 ACL 继承的目的是使新创建的文件或目录可以继承其本来要继承的 ACL,但不忽略父目录的现有权限。 缺省情况下,不会传播 ACL。如果设置某个目录的非普通 AC

15、L,则任何后续目录不会继承该非普通 ACL。必须对文件或目录指定 ACL 的继承。下表介绍了可选的继承标志。 表83 ACL 继承标志继承标志缩写继承标志说明file_inherit f 从父目录继承 ACL,但仅适用于该目录中的文件。dir_inherit d 从父目录继承 ACL,但仅适用于该目录中的子目录。inherit_only i 从父目录继承 ACL,但仅适用于新创建的文件或子目录,而不适用于该目录自身。该标志要求使用 file_inherit 标志或 dir_inherit 标志,或同时使用两者来表示要继承的内容。no_propagate n 仅将 ACL 从父目录继承到该目录的

16、第一级内容,而不是第二级或后续内容。该标志要求使用 file_inherit 标志或 dir_inherit 标志,或同时使用两者来表示要继承的内容。- N/A未授予权限。此外,还可以使用 aclinherit 文件系统属性对文件系统设置更为严格或更为宽松的缺省 ACL 继承策略。有关更多信息,请参见下一节。ACL 属性ZFS 文件系统有两个与 ACL 相关的属性。 aclinherit此属性可确定 ACL 继承的行为。包括以下属性值: discard对于新对象,创建文件或目录时不会继承任何 ACL 项。新文件或目录的 ACL 等效于该文件或目录的权限。noallow对于新对象,仅继承访问类型

17、为 deny 的可继承 ACL 项。restricted对于新对象,继承 ACL 项时将删除 write_owner 和 write_acl 权限。passthrough当属性值设置为 passthrough 时,会使用由可继承 ACE 确定的权限来创建文件。如果不存在影响权限的可继承 ACE,则会根据应用程序要求的权限设置权限。passthrough-x此属性与 passthrough 语义相同,只不过如果启用 passthrough-x,将使用执行 (x) 权限创建文件,但前提是必须在文件创建模式和影响该模式的可继承 ACE 中设置执行权限。aclinherit 属性的缺省值为 restr

18、icted。aclmode最初创建文件时或每次用 chmod 命令修改文件或目录的权限时,该属性都会修改 ACL 行为。包括以下属性值: discard删除所有 ACL 项,但定义文件或目录的模式所需的项除外。groupmask除非用户项与文件或目录的属主具有相同的 UID,否则将减少用户或组的 ACL 权限,以使其不会大于组权限。然后,减少 ACL 权限,以使其不会大于属主权限。passthrough在 chmod 操作期间,除 owner、group 或 everyone 以外的 ACE 不会以任何方式进行修改。owner、group 或 everyone ACE 会被禁用以按 chmod

19、 操作的要求设置文件模式。aclmode 属性的缺省值为 groupmask。设置 ZFS 文件的 ACL正如 ZFS 所实现的那样,ACL 由 ACL 项构成。ZFS 提供了一个纯 ACL 模型,其中所有文件都包括 ACL。通常,ACL 很普通,因为它仅表示传统的 UNIX owner/group/other 项。 如果更改文件的权限,该文件的 ACL 也会相应地更新。此外,如果删除授予用户对文件或目录的访问权限的非普通 ACL,则由于该文件或目录的权限位会将访问权限授予组或各用户,因此该用户仍可访问这一文件或目录。所有访问控制决策都由文件或目录的 ACL 中表示的权限来管理。对于 ZFS

20、文件,ACL 访问权限的主要规则如下:ZFS 按照 ACL 项在 ACL 中的排列顺序从上至下对其进行处理。仅处理具有与访问权限的请求者匹配的“对象”的 ACL 项。一旦授予 allow 权限,同一 ACL 权限集当中的后续 ACL deny 项即不能拒绝此权限。无条件地授予文件属主 write_acl 权限,即使显式拒绝此权限时也是如此。否则,将拒绝仍未指定的所有权限。如果是 deny 权限或缺少文件访问权限,权限子系统将确定为文件属主或超级用户授予的访问请求。此机制可以防止文件属主无法访问其文件,并允许超级用户修改文件以进行恢复。如果设置某个目录的非普通 ACL,则该目录的子目录不会自动继

21、承该 ACL。如果设置了非普通 ACL 并希望目录的子目录继承该 ACL,则必须使用 ACL 继承标志。有关更多信息,请参见表83 和以详细格式对 ZFS 文件设置 ACL 继承。创建新文件时,根据 umask 值将应用类似如下的缺省的普通 ACL:$ ls -v file.1-rw-r-r- 1 root root 206663 May 20 14:09 file.1 0:owner:execute:deny 1:owner:read_data/write_data/append_data/write_xattr/write_attributes /write_acl/write_owner

22、:allow 2:group:write_data/append_data/execute:deny 3:group:read_data:allow 4:everyone:write_data/append_data/write_xattr/execute/write_attributes /write_acl/write_owner:deny 5:everyone:read_data/read_xattr/read_attributes/read_acl/synchronize :allow请注意,本例中每个用户类别 (owner, group, everyone) 有两个 ACL 项。一个

23、项用于 deny 权限,一个项用于 allow 权限。 此文件 ACL 的说明如下:0:owner 拒绝属主对文件的执行权限 (execute:deny)。1:owner 属主可以读取和修改文件的内容 (read_data/write_data/append_data)。属主还可以修改文件的属性,如时间戳、扩展属性和 ACL (write_xattr/write_attributes/write_acl)。此外,属主还可以修改文件的拥有权 (write_owner:allow)。2:group 拒绝组对文件的修改和执行权限 (write_data/append_data/execute:den

24、y)。3:group 授予组对文件的读取权限 (read_data:allow)。4:everyone 拒绝非文件属主或非文件所属组成员执行或修改文件内容以及修改文件任何属性的权限 (write_data/append_data/write_xattr/execute/write_attributes/write_acl/write_owner:deny)。5:everyone 授予非文件属主或非文件所属组成员读取文件和文件属性的权限 (read_data/read_xattr/read_attributes/read_acl/synchronize:allow)。synchronize 访问

25、权限当前未实现。创建新目录时,根据 umask 值将应用类似如下的缺省目录 ACL:$ ls -dv dir.1drwxr-xr-x 2 root root 2 May 20 14:11 dir.1 0:owner:deny 1:owner:list_directory/read_data/add_file/write_data/add_subdirectory /append_data/write_xattr/execute/write_attributes/write_acl /write_owner:allow 2:group:add_file/write_data/add_subdir

26、ectory/append_data:deny 3:group:list_directory/read_data/execute:allow 4:everyone:add_file/write_data/add_subdirectory/append_data/write_xattr /write_attributes/write_acl/write_owner:deny 5:everyone:list_directory/read_data/read_xattr/execute/read_attributes /read_acl/synchronize:allow此目录 ACL 的说明如下:

27、 0:owner 目录的属主 deny 列表为空 (:deny)。1:owner 属主可以读取和修改目录内容 (list_directory/read_data/add_file/write_data/add_subdirectory/append_data),搜索内容 (execute) 以及修改时间戳、扩展属性和 ACL 等目录属性 (write_xattr/write_attributes/write_acl)。此外,属主还可以修改目录的拥有权 (write_owner:allow)。2:group 组不能添加或修改目录内容 ( add_file/write_data/add_subdi

28、rectory/append_data:deny)。3:group 组可以列出并读取目录内容。此外,组还具有搜索目录内容的执行权限 (list_directory/read_data/execute:allow)。4:everyone 拒绝非文件属主或非文件所属组成员添加或修改目录内容的权限 (add_file/write_data/add_subdirectory/append_data)。此外还拒绝修改目录任何属性的权限 (write_xattr/write_attributes/write_acl/write_owner:deny)。5:everyone 授予非文件属主或非文件所属组成员

29、对目录内容和目录属性的读取和执行权限 (list_directory/read_data/read_xattr/execute/read_attributes/read_acl/synchronize:allow)。synchronize 访问权限当前未实现。以详细格式设置和显示 ZFS 文件的 ACL可以使用 chmod 命令修改 ZFS 文件的 ACL。以下用于修改 ACL 的 chmod 语法使用 acl 规范来确定 ACL 的格式。有关 acl 规范的说明,请参见ACL 设置语法的说明。 添加 ACL 项为用户添加 ACL 项% chmod A+acl-specification fi

30、lename按 index-ID 添加 ACL 项% chmod Aindex-ID+acl-specification filename此语法用于在指定的 index-ID 位置插入新的 ACL 项。替换 ACL 项% chmod A=acl-specification filename% chmod Aindex-ID=acl-specification filename删除 ACL 项按 index-ID 删除 ACL 项% chmod Aindex-ID- filename由用户删除 ACL 项% chmod A-acl-specification filename从文件中删除所有非普通 ACE% chmod A- filename详细 ACL 信息是通过使用 ls -v 命令来显示的。 # ls -v file.1-rw-r-r- 1 root root 206663 May 20 14:09 file.1 0:owner:execute:deny 1:owner:read_data/write_data/append_data/write_xattr/write_attributes /write_acl/write_owner:allow 2:group:write_data/append_data/execut

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1