IFS_OBJECT_特权表函数
IFS_OBJECT_特权表函数针对每个有权访问由路径名标识的对象的用户及其关联对象和数据权限返回一行。
此信息类似于通过 "显示权限" (DSPAUT) CL 命令和 Qp0lGetAttr() -- Get Attributes API 提供的信息。
授权: 调用者必须具有:
- 对于不在 QSYS.LIB 文件系统:
- 对于包含在对象名之前的路径名中的每个目录, *X
- 对于对象, *OBJMGT
- 对于 QSYS.LIB 文件系统:
- 对于包含在对象名之前的路径名中的每个目录, *X
- 对于 *MBR 对象, *RX 和 *OBJMGT
- 对于所有其他对象类型, *OBJMGT
- 路径名
- 返回标识对象的路径名的表达式。 相对路径名相对于当前目录。 如果未指定绝对路径名,那么将当前工作目录与相对路径名结合使用以解析为对象。 如果路径的最后一个元素是符号链接,那么特权信息将用于符号链接本身。
- 忽略错误
用于标识迂到错误时要执行的操作的字符或图形字符串表达式。
- 否
返回了错误。
- 是
- 将返回警告。
此函数的结果是包含具有下表中所示格式的行的表。 所有列都是可空的。
| 列名 | 数据类型 | 描述 |
|---|---|---|
| 路径名 | DBCLOB (16M) CCSID 1200 | 对象的完整路径名。 |
| 对象类型 | VARCHAR(8) | 对象的类型。 |
| 所有者 | VARCHAR(10) | 拥有对象的用户概要文件。 如果没有可用的所有者,那么包含空值。 |
| PRIMARY_GROUP | VARCHAR(10) | 作为对象主组的用户概要文件的名称。 可以包含以下特殊值:
如果对象没有主组,那么包含空值。 |
| 授权列表 | VARCHAR(10) | 权限列表的名称 (如果对象受权限列表保护)。 如果对象不受权限列表保护,那么包含空值。 |
| 授权名称 | VARCHAR(10) | 此行的用户概要文件名称。 可以包含以下特殊值:
|
| DATA_AUTHORITY | VARCHAR(12) | AUTHORIZATION_NAME 对该对象的操作,使用或访问权。 包含下列其中一个特殊值:
|
| 对象操作 | 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));
