ctaclfck 命令

用途

验证集群安全服务 ACL 文件的内容。

语法

-fctaclfck acl_file_name [-s] [-c] [-u 用户名 ] [-v] [-h]

描述

ctaclfck 命令检查由 -f 标志指定的集群安全服务 ACL 文件的内容。 该检查受限于依照语法的错误;语义检查将不执行。

该命令打开 ACL 文件,且一次读取和编译一个 ACL 条目。 如果该命令遇到错误,那么它将错误报告给标准输出。 如果提供了 -c 标志,那么该命令将在迂到错误后继续处理,直到到达文件末尾为止。 否则,处理将在找到并报告第一个错误之后停止。

-u 标志指示命令验证指定操作系统用户身份所拥有的 ACL 文件内容。 命令用户必须有权切换到由 -u 标志指定的用户的主目录,并且还必须有权读取该目录中的文件。 如果 -s 标志与 -u 标志一起指定,那么命令用户还必须有权将其有效用户身份设置为此身份 (请参阅操作系统命令 su 的联机帮助页以获取示例)。

当指定 -u 标志时, -f 标志中提供的文件名应该是驻留在指定用户的主目录中的文件的基本名称。 在这种情况下,由 -f 标志指定的文件名不得包含任何目录名称,包括 ./../ 目录。

如果指定了 -s 标志,那么该命令将创建一个文件以包含 ACL 文件的已编译内容。 这允许应用程序编译 ACL 数据缓冲区(在启动使用它的应用程序、保存在其启动过程或其 ACL 读取过程中处理的应用程序之前预先进行)。 已编译的 ACL 文件将与扩展名为 .cacl的 ACL 文件同名。 新的 *.cacl 文件的所有权和文件系统许可权将设置为与 ACL 文件相同的所有权和许可权。 如果 ACL 文件当前不由该命令用户所有,那么命令用户必须能够将其有效用户标识更改为拥有 ACL 文件的用户的标识。 如果该命令无法执行此操作,那么它将不创建 ACL 缓冲区文件,但将完成 ACL 文件的验证。

该命令检查正确的 ACL 条目类型、正确的标识格式以及有效的许可权。 有效许可权定义为一个仅包含由许可权模板定义的操作的许可权。 许可权模板设置由集群安全服务定义且随后由该命令使用。
条目类型 描述
r
  • 格式:0x1
  • 许可权:读
  • 操作:一般读操作
w
  • 格式:0x2
  • 许可权:写
  • 操作:一般写操作
c
  • 格式:0x4
  • 许可权:控制
  • 操作:一般控制操作或 RMC 刷新配置操作
x
  • 格式:0x8
  • 许可权:运行
  • 操作:一般执行操作
C
  • 格式:0x10
  • 许可权:取消
  • 操作:一般取消操作
q
  • 格式:0x20
  • 许可权:查询
  • 操作:RMC 查询资源操作
l
  • 格式:0x40
  • 许可权:列示
  • 操作:RMC 枚举资源操作
e
  • 格式:0x80
  • 许可权:事件
  • 操作:RMC 事件注册、注销和查询
d
  • 格式:0x100
  • 许可权:定义
  • 操作:RMC 定义和取消定义资源操作
v
  • 格式:0x200
  • 许可权:验证
  • 操作:RMC 验证资源句柄操作
s
  • 格式:0x400
  • 许可权:设置
  • 操作:RMC 设置属性操作

如果指定了 -u 标志,那么该命令将在指定用户的主目录中搜索 ACL 文件。 用户必须拥有文件且用户必须仅对许可权进行写操作。 当指定了 -u 标志时,由 -f 标志指定的 ACL 文件名不得包含文件的相对路径或完整路径; 它必须仅指定文件名。

标志

-f acl_文件名
指定要验证的集群安全服务 ACL 文件。 除非指定了 -u 标志,否则文件名可以是完整路径名或相对路径名。
-s
将 ACL 缓冲区(由 ACL 文件的编译产生)高速缓存到文件中。 如果 ACL 文件不由命令用户所有,那么命令用户必须能够将其有效用户标识设置为 ACL 文件的所有者。
-c
指示命令在遇到错误之后继续直到到达文件末尾。 无论是否指定了 -v 标志,都将报告迂到的所有错误。 如果未指定,那么命令处理将在遇到并报告第一个错误之后停止。
-u 用户名
指定 ACL 文件在其主目录中驻留的用户名。 使用此标志时, -f 标志指定的文件名必须是驻留在指定用户的主目录中的文件的基本名称; 该文件不能包含任何目录信息,包括 ./../ 目录名称。
-v
将命令的详细消息写到标准输出。
-h
将命令的用法语句写到标准输出。

安全性

ACL 文件的文件系统许可权由拥有该文件的最终用户或应用程序确定。 如果调用者没有足够的权限读取文件或用相同的所有权创建所需的编译 ACL 文件,那么命令将失败。

限制

ctaclfck 命令仅对针对集群安全服务格式化的 ACL 文件起作用。

示例

  1. 要验证 ACL 文件 /my_acl_file的内容:
    ctaclfck -f /my_acl_file
  2. 要验证 ACL 文件 ../my_acl_file 的内容 (相对于当前目录) 并提供详细输出:
    ctaclfck -f ../my_acl_file -v
  3. 要完全验证由操作系统用户 fluffy拥有的 ACL 文件 /u/fluffy/my_acl_file的内容,并将已编译的 ACL 缓冲区存储到文件中以供将来使用:
    ctaclfck -c -u fluffy -f  my_acl_file  -v -s

位置

/opt/rsct/bin/ctaclfck
包含 ctaclfck 命令