スポンサーリンク

VOP_SETACL(9) FreeBSD カーネル開発者マニュアル VOP_SETACL(9)

名称

VOP_SETACL − vnode のアクセス制御リストの設定

書式

#include <sys/param.h>
#include <sys/vnode.h>
#include <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 が書きました。

FreeBSD 10.0 December 23, 1999 FreeBSD 10.0

スポンサーリンク