VACCESS_ACL_NFS4(9) | FreeBSD Kernel Developer's Manual | VACCESS_ACL_NFS4(9) |
名称
vaccess_acl_nfs4 — vnode パラメータを使用して NFSv4 ACL アクセス制御決定を生成する書式
#include < sys/param.h>#include < sys/vnode.h>
#include < sys/acl.h>
int
vaccess_acl_nfs4( enum vtype type, uid_t file_uid, gid_t file_gid, struct acl *acl, accmode_t accmode, struct ucred *cred, int *privused);
解説
この呼び出しは、NFSv4 ACL 拡張で UNIX の自由裁量のファイルのセキュリティモデルのための論理を実装しています。それは vnode タイプ type、所有している UID file_uid、所有している GID file_gid、ファイル acl のためのアクセス ACL、望ましいアクセスモード accmode、要求される資格証明 cred と特権が呼び出しの成功評価に必要であったかどうか実行するオプションの参照呼び出し (call-by-reference) int ポインタを受け付けます。 privused ポインタは、特権情報に詳しいくないために呼び出し側によって NULL に設定されるか、または特権が使用されているなら 1 に、そうでなければ、 0 に設定される整数を指します。この呼び出しは、vnode の特性を検索して、それら自体のアクセスメソッドを使用し、次に、実際のチェックを実行するために vaccess_acl_nfs4() を呼び出す、 VOP_ACCESS(9) の実装をサポートすることを目的としています。 VOP_ACCESS(9) の実装は、結果が返り値で構成される追加のセキュリティメカニズムを実装するために選択されます。
vaccess_acl_nfs4() によって使用されるアルゴリズムは、NFSv4 Minor バージョン 1、 draft-ietf-nfsv4-minorversion1-21.txt、で説明される、NFSv4 ACL 評価アルゴリズムに基づいています。アルゴリズムは、 UNIX セキュリティの互換性を提供する、利用可能な ACL マスクエントリで構成される、アクセス ACL から マッチング エントリを選択します。
いったん適切な保護が現在の資格証明のために選択されると、 vnode タイプと組み合わせて、要求されるアクセスモードは、資格証明のために利用可能な任意の権利と比較されます。任意の保護によって与えられた権利が、不十分であるなら、資格証明に対して利用可能であるなら、スーパユーザの特権も、考慮されます。
戻り値
vaccess_acl_nfs4() は、成功すれば、0 を返し、失敗すれば 0 以外のエラー値を返します。エラー
- [ EACCES]
- パーミッションが拒絶されました。ファイルアクセスパーミッションによって禁じられた方法で、ファイルにアクセスする試みが行われました。
- [ EPERM]
- 操作が許されません。適切な特権があるプロセス、または、ファイルまたは他のリソースの所有者に、制限された操作を実行する試みが行われました。
作者
vaccess_acl_nfs4() の現在の実装は、 <trasz@FreeBSD.org>によって書かれました。バグ
このマニュアルページは、NFSv4 ACL 評価アルゴリズムの完全な解説を含むべきです、または相互参照は他のページに含むべきです。September 18, 2009 | FreeBSD |