IFS_OBJECT_特权表函数

IFS_OBJECT_特权表函数针对每个有权访问由路径名标识的对象的用户及其关联对象和数据权限返回一行。

此信息类似于通过 "显示权限" (DSPAUT) CL 命令和 Qp0lGetAttr() -- Get Attributes API 提供的信息。

授权: 调用者必须具有:
  • 对于不在 QSYS.LIB 文件系统:
    • 对于包含在对象名之前的路径名中的每个目录, *X
    • 对于对象, *OBJMGT
  • 对于 QSYS.LIB 文件系统:
    • 对于包含在对象名之前的路径名中的每个目录, *X
    • 对于 *MBR 对象, *RX 和 *OBJMGT
    • 对于所有其他对象类型, *OBJMGT
读取语法图跳过可视语法图 IFS_OBJECT_PRIVILEGES ( 路径名 => 路径名,忽略错误 => 忽略错误)
路径名
返回标识对象的路径名的表达式。 相对路径名相对于当前目录。 如果未指定绝对路径名,那么将当前工作目录与相对路径名结合使用以解析为对象。 如果路径的最后一个元素是符号链接,那么特权信息将用于符号链接本身。
忽略错误

用于标识迂到错误时要执行的操作的字符或图形字符串表达式。

返回了错误。

将返回警告。
迂到错误时,不会返回任何行。 这是缺省情况。

此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。

表 1. IFS_OBJECT_特权表函数
列名 数据类型 描述
路径名 DBCLOB (16M) CCSID 1200 对象的完整路径名。
对象类型 VARCHAR(8) 对象的类型。
所有者 VARCHAR(10) 拥有对象的用户概要文件。

如果没有可用的所有者,那么包含空值。

PRIMARY_GROUP VARCHAR(10) 作为对象主组的用户概要文件的名称。 可以包含以下特殊值:
*NOUSRPRF
此特殊值由网络文件系统用于指示 IBM® i 上的本地服务器上没有与远程对象的 GID 匹配的组标识 (GID) 的用户概要文件。

如果对象没有主组,那么包含空值。

授权列表 VARCHAR(10) 权限列表的名称 (如果对象受权限列表保护)。

如果对象不受权限列表保护,那么包含空值。

授权名称 VARCHAR(10) 此行的用户概要文件名称。 可以包含以下特殊值:
*NOUSRPRF
无法确定概要文件名称的对象的所有者或主组的权限。 此值仅由网络文件系统使用。 它指示远程对象的用户标识 (UID) 或组标识 (GID) 与 IBM i 上具有该 UID 或 GID 的本地服务器上的任何概要文件都不匹配。
*PUBLIC
此行包含对象的公共权限。
DATA_AUTHORITY VARCHAR(12) AUTHORIZATION_NAME 对该对象的操作,使用或访问权。 包含下列其中一个特殊值:
*AUTL
使用此对象所使用的权限列表中指定的公共权限。
*EXCLUDE
禁止针对对象的所有操作。
*NONE
用户没有任何数据权限。
*R
允许访问对象属性。
*RW
允许访问对象属性并且允许更改对象。 用户不能使用该对象。
*RWX
除对所有者有限制或受对象权利控制的那些操作以外,允许针对对象的所有操作。
*RX
允许访问对象属性和使用对象。 用户不能更改对象。
*W
允许更改对象。
*WX
允许使用对象并且允许更改对象。 用户不能访问对象属性。
*X
允许使用对象。
用户定义
特定数据权限与任何预定义权限级别都不匹配。
对象操作 VARCHAR(3) 指示 AUTHORIZATION_NAME 的对象操作权限。
用户没有此权限。
用户具有此权限。
对象管理 VARCHAR(3) AUTHORIZATION_NAME 的对象管理权限。
用户没有此权限。
用户具有此权限。
对象存在 VARCHAR(3) AUTHORIZATION_NAME 的对象存在权限。
用户没有此权限。
用户具有此权限。
对象 ECT_ALTER VARCHAR(3) AUTHORIZATION_NAME 的对象变更权限。
用户没有此权限。
用户具有此权限。
对象参照 VARCHAR(3) AUTHORIZATION_NAME 的对象引用权限。
用户没有此权限。
用户具有此权限。
数据读取 VARCHAR(3) AUTHORIZATION_NAME 的数据读权限。
用户没有此权限。
用户具有此权限。
数据添加 VARCHAR(3) AUTHORIZATION_NAME 的数据添加权限。
用户没有此权限。
用户具有此权限。
数据更新 VARCHAR(3) AUTHORIZATION_NAME 的数据更新权限。
用户没有此权限。
用户具有此权限。
数据删除 VARCHAR(3) AUTHORIZATION_NAME 的数据删除权限。
用户没有此权限。
用户具有此权限。
数据执行 VARCHAR(3) AUTHORIZATION_NAME 的数据执行权限。
用户没有此权限。
用户具有此权限。

示例

  • 列出 /usr 目录中所有对象的所有权限。
    WITH OBJS AS (SELECT PATH_NAME 
             FROM TABLE (QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => '/usr'))) 
      SELECT * FROM OBJS, TABLE(QSYS2.IFS_OBJECT_PRIVILEGES(PATH_NAME));