IFS_OBJECT_PRIVILEGES 表関数

IFS_OBJECT_PRIVILEGES 表関数は、パス名によって識別されるオブジェクトに対して許可されたすべてのユーザーの行と、それらに関連したオブジェクトおよびデータ権限を戻します。

この情報は、権限表示 (DSPAUT) CL コマンドおよび Qp0lGetAttr()-- 属性取得 API で使用できる情報と似ています。

許可: 呼び出し側は以下を備えている必要があります。
  • QSYS.LIB ファイル・システムにないオブジェクトの場合:
    • オブジェクト名の前のパス名に含まれている各ディレクトリーの場合は、*X
    • オブジェクトの場合は *OBJMGT
  • QSYS.LIB ファイル・システム内のオブジェクトの場合:
    • オブジェクト名の前のパス名に含まれている各ディレクトリーの場合は、*X
    • *MBR オブジェクトの場合、*RX および *OBJMGT
    • その他のすべてのオブジェクト・タイプの場合は、*OBJMGT
構文図を読むビジュアル構文図をスキップ IFS_OBJECT_PRIVILEGES ( PATH_NAME => パス名,Ignore_ エラー => 無視-エラー)
パス名
オブジェクトを識別するパス名を戻す式。 相対パス名は、現行ディレクトリーに対する相対パス名です。 絶対パス名が指定されていない場合、オブジェクトに解決するために、現行作業ディレクトリーが相対パス名と組み合わせて使用されます。 パスの最後のエレメントがシンボリック・リンクの場合、特権情報はシンボリック・リンク自体に関するものになります。
無視エラー

エラーの発生時に実行する内容を識別する文字ストリング式またはグラフィック・ストリング式。

NO

エラーが戻されます。

YES
警告が戻されます。
エラーが検出されても、行は戻されません。 これはデフォルト値。

この関数の結果は、以下の表に示された形式の行を含むテーブルです。 列はすべて NULL 可能です。

表 1. IFS_OBJECT_PRIVILEGES 表関数
列名 データ・タイプ 説明
PATH_NAME DBCLOB(16M) CCSID 1200 オブジェクトの絶対パス名です。
OBJECT_TYPE VARCHAR(8) オブジェクトのタイプ。
OWNER VARCHAR(10) オブジェクトを所有しているユーザー・プロファイル。

使用可能な所有者がない場合は、NULL 値が入ります。

PRIMARY_GROUP VARCHAR(10) オブジェクトの 1 次グループとなるユーザー・プロファイルの名前。 次の特殊値を含めることができます。
*NOUSRPRF
この特殊値は、リモート・オブジェクトの GID と一致するグループ ID (GID) を持つユーザー・プロファイルが IBM® i 上のローカル・サーバーに存在しないことを示すために、ネットワーク・ファイル・システムによって使用されます。

オブジェクトに 1 次グループがない場合は、NULL 値が入ります。

AUTHORIZATION_LIST VARCHAR(10) オブジェクトが権限リストによって保護されている場合、権限リストの名前。

オブジェクトが権限リストによって保護されていない場合は、NULL 値が入ります。

AUTHORIZATION_NAME VARCHAR(10) この行のユーザー・プロファイル名。 次の特殊値を含めることができます。
*NOUSRPRF
プロファイル名を判別することができなかったオブジェクトの所有者または 1 次グループのいずれかの権限。 この値は、ネットワーク・ファイル・システムでのみ使用されます。 これは、リモート・オブジェクトのユーザー ID (UID) またはグループ ID (GID) が、その UID または GID を持つ IBM i 上のローカル・サーバー上のどのプロファイルとも一致しないことを示します。
*PUBLIC
この行には、オブジェクトの共通権限が含まれます。
DATA_AUTHORITY VARCHAR(12) AUTHORIZATION_NAME がオブジェクトに対して持っている操作、使用、またはアクセス。 以下のいずれかの特殊値が含まれます。
*AUTL
このオブジェクトで使用される権限リストに指定されている共通権限が使用されます。
*EXCLUDE
オブジェクトに対するすべての操作が禁止されます。
*NONE 値
ユーザーにはデータ権限がありません。
*R
オブジェクトの属性に対するアクセスを可能にします。
*RW
オブジェクトの属性に対するアクセスおよびオブジェクトの変更を可能にします。 ユーザーはオブジェクトを使用することはできません。
*RWX
所有者に制限されたものまたはオブジェクト権によって制御されるものを除き,オブジェクトでのすべての操作を可能にします。
*RX
オブジェクト属性へのアクセスおよびオブジェクトの使用が可能です。 ユーザーはオブジェクトを変更できません。
*W
オブジェクトの変更を可能にします。
*WX
オブジェクトの使用およびオブジェクトの変更を可能にします。 ユーザーはオブジェクトの属性に対してアクセスすることはできません。
*X
オブジェクトの使用を可能にします。
ユーザー定義
特定のデータ権限は、事前定義された権限レベルのいずれにも一致しません。
OBJECT_OPERATIONAL VARCHAR(3) AUTHORIZATION_NAME のオブジェクト操作権限を示します。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
OBJECT_MANAGEMENT VARCHAR(3) AUTHORIZATION_NAME のオブジェクト管理権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
OBJECT_EXISTENCE VARCHAR(3) AUTHORIZATION_NAME のオブジェクト存在権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
OBJECT_ALTER VARCHAR(3) AUTHORIZATION_NAME のオブジェクト変更権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
OBJECT_REFERENCE VARCHAR(3) AUTHORIZATION_NAME のオブジェクト参照権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
DATA_READ VARCHAR(3) AUTHORIZATION_NAME のデータ読み取り権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
DATA_ADD VARCHAR(3) AUTHORIZATION_NAME のデータ追加権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
DATA_UPDATE VARCHAR(3) AUTHORIZATION_NAME のデータ更新権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
DATA_DELETE VARCHAR(3) AUTHORIZATION_NAME のデータ削除権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。
DATA_EXECUTE VARCHAR(3) AUTHORIZATION_NAME のデータ実行権限。
NO
ユーザーはこの権限を持っていません。
YES
ユーザーはこの権限を持っています。

  • /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));