メニューボタン
サポートチーム便り2026.05.27

IBM i IFSのオブジェクト権限を一覧で見たくありませんか?

Question

IFS(統合ファイルシステム:Integrated File System)上の特定フォルダー配下に存在する複数のオブジェクトについて、それぞれのオブジェクト権限を一覧で確認したいと考えています。

例えば、/home/sample フォルダー内に複数のファイルやディレクトリが存在しており、オブジェクトごとにどのユーザーやグループにどのような権限(読み取り・書き込み・実行など)が付与されているかをまとめて確認したいです。

現状は個別に権限を確認していますが、対象オブジェクト数が多く、効率的ではありません。

フォルダー配下の全オブジェクトに対して権限情報を一括で取得・確認するための良い方法があれば教えていただけますでしょうか。

Answer

IFS内それぞれのオブジェクト権限を確認するには、DSPAUTコマンドを用いるのが一般的です。

DSPAUT画面

コマンド : DSPAUT OBJ('/home/SRCMBR/*')

しかし、DSPAUTコマンドでは一つずつしかオブジェクトを選択できず、オブジェクト個々の権限を確認するには手間がかかります。

オブジェクトを一覧で表示し権限を確認する方法として、「IFS_OBJECT_PRIVILEGES 表関数」を使用する事で実現可能です。

※SQL例1:フォルダー/home/SRCMBR内のオブジェクト権限一覧を表示

WITH OBJS AS (SELECT PATH_NAME 
         FROM TABLE (QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => '/home/SRCMBR'))) 
  SELECT * FROM OBJS, TABLE(QSYS2.IFS_OBJECT_PRIVILEGES(PATH_NAME));

※SQL例2:例1の*PUBLICを除いた状態での一覧表示

WITH OBJS AS (SELECT PATH_NAME 
         FROM TABLE (QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => '/home/SRCMBR'))) 
  SELECT * FROM OBJS, TABLE(QSYS2.IFS_OBJECT_PRIVILEGES(PATH_NAME))
    WHERE AUTHORIZATION_NAME <> '*PUBLIC'

IFS配下のオブジェクト権限確認、気づけば「地道なキー押下耐久レース」になりがちです。

DSPAUTで一件ずつ確認するのも悪くはありませんが、件数が増えた瞬間に心が折れます。

そんなときはSQLの力を借りて、まとめて可視化してはいかがでしょうか。

IFS_OBJECT_PRIVILEGESを使えば、点の確認が一気に"面"になります。

人間が頑張るより、DBに頑張ってもらうほうがだいたい正解です。少なくとも、コーヒーを飲む余裕は生まれるでしょう。


※ご参照サイト

「IFS_OBJECT_PRIVILEGES 表関数」
https://www.ibm.com/docs/ja/i/7.6.0?topic=services-ifs-object-privileges-table-function

by . あすと

あわせて読みたい記事

PAGE TOP