標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
z/OS UNIX |
両方 | z/OS V1R3 |
#define _OPEN_SYS 1
#include <sys/acl.h>
int acl_valid (lacl_t acl_d, acl_entry_t *entry_p);
ファイルおよびディレクトリーへのアクセスを制御するために、許可ビットと一緒にアクセス制御 リスト (ACL) を使用してください。現在、ACL は HFS、TFS、および zFS ファイル・システムによってサポートされています。ご使用のセキュリティー製品で ACL がサポートされているかどうかについて、および ファイル・アクセスを決定するときに使用される規則について知っている必要があります。詳細は、「z/OS UNIX System Services 計画」を参照してください。
acl_valid() 関数は、引数 acl_d によって参照されるアクセス ACL、ファイル・ デフォルト ACL、またはディレクトリー・デフォルト ACL の妥当性を検査します。
ACL_USER、ACL_GROUP、および ACL_OTHER は、基本 ACL エントリーの中に 1 回だけ存在する ことができます。ACL_OTHER は、基本 ACL エントリーにだけ適用されます。
タグ・タイプ (ユーザー、グループ) には、拡張 ACL エントリーに対して有効な値が含まれる 必要があります。修飾子フィールド (UID、GID) は、削除するためにマップされる拡張 ACL エントリーを除いて、同じ ACL のすべての拡張 ACL エントリー間で固有でなければなりません (詳細 は、sys/acl.hの ACL エントリー・マッピングを参照してください)。acl_d によって参照される ACL 内の基本 ACL エントリーと拡張 ACL エントリーの 両方またはいずれかの順序は、変更される場合があります。
acl_valid() を呼び出した後で acl_get_entry() をはじめて呼び出したときには、システムによる順序付けに従って、ACL 内の最初の拡張 ACL エントリーが取得されます。
正常終了の場合は、関数はゼロの値を戻します。
以下の条件のいずれかが検出された場合、entry_p によって参照されるロケーション は未定義となり、acl_valid() 関数は -1 を戻し、errno が対応する値に設定されます。
以下の条件のいずれかが検出された場合、acl_valid() 関数は、entry_p によって参照される ロケーションを、エラーになっている ACL エントリーの 1 つに設定し、-2 を戻すとともに errno を 該当する値に設定します。
以下の条件のいずれかが検出された場合、acl_valid() 関数は -3 を戻し、errno を対応する値に設定します。