VOP_SETACL(9)

名称
VOP_SETACL - vnode のアクセス制御リストの設定

書式
<sys/param.h> <sys/vnode.h> <sys/acl.h> int VOP_SETACL(struct vnode *vp, acl_type_t type, struct acl *aclp, struct ucred *cred, struct thread *td)

解説
この vnode 呼び出しは、ファイルまたはディレクトリの アクセス制御リスト (ACL) を設定するために使用可能です。

引数は以下の通りです。

vp  ファイルまたはディレクトリの vnode。

type
    設定される ACL の型。

aclp
    ACL データの取り出し元の ACL 構造体へのポインタ。

cred
    要求の認証時に使用されるユーザ証明。

td  ACL を設定しているスレッド。

aclp ポインタは、 NULL を指定可能であり、 指定した ACL が削除されるべきであることを示します。

cred ポインタは、NULL を渡すことができ、 可能であるならばアクセス制御チェックが実行されないことを指示します。 この cred の設定は、アクティブプロセスに許されていない ACL 証明を、 カーネルが正当化することを認めるために使用可能です。 この cred の設定は、アクティブプロセスに許されていない拡張属性の変更を カーネルが正当化することを認めるために使用可能です。

vnode ACL インタフェースは、ファイルまたはディレクトリの ACL インタフェースの セマンティクスではなく文法を定義します。 カーネル内の ACL 管理についての詳細な情報は acl(9) を参照してください。

ロック
入る時に vnode はロックされ、戻り時にもロックされ続けているべきです。

戻り値
ACL が成功裏に設定された場合には 0 が返されます。 そうでない場合には適切なエラーコードが返されます。

エラー

[EINVAL]
    渡された ACL 型はこの vnode には無効です。 または、ACL データが無効です。

[EACCES]
    呼び出し側が適切な特権を持っていません。

[ENOMEM]
    要求を実行するための十分なメモリが利用可能ではありません。

[EOPNOTSUPP]
    ファイルシステムが VOP_SETACL() をサポートしていません。

[ENOSPC]
    ファイルシステムの領域不足です。

[EROFS]
    ファイルシステムが読み取り専用です。

関連項目
acl(9), vnode(9), VOP_ACLCHECK(9), VOP_GETACL(9)

作者
このマニュアルページは Robert Watson が書きました。