xref: /dflybsd-src/share/man/man9/VOP_ACLCHECK.9 (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
1*86d7f5d3SJohn Marino.\"-
2*86d7f5d3SJohn Marino.\" Copyright (c) 1999 Robert N. M. Watson
3*86d7f5d3SJohn Marino.\" All rights reserved.
4*86d7f5d3SJohn Marino.\"
5*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without
6*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions
7*86d7f5d3SJohn Marino.\" are met:
8*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright
9*86d7f5d3SJohn Marino.\"    notice, this list of conditions and the following disclaimer.
10*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright
11*86d7f5d3SJohn Marino.\"    notice, this list of conditions and the following disclaimer in the
12*86d7f5d3SJohn Marino.\"    documentation and/or other materials provided with the distribution.
13*86d7f5d3SJohn Marino.\"
14*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*86d7f5d3SJohn Marino.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*86d7f5d3SJohn Marino.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*86d7f5d3SJohn Marino.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*86d7f5d3SJohn Marino.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*86d7f5d3SJohn Marino.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*86d7f5d3SJohn Marino.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*86d7f5d3SJohn Marino.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*86d7f5d3SJohn Marino.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*86d7f5d3SJohn Marino.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*86d7f5d3SJohn Marino.\" SUCH DAMAGE.
25*86d7f5d3SJohn Marino.\"
26*86d7f5d3SJohn Marino.\"       $FreeBSD: src/share/man/man9/VOP_ACLCHECK.9,v 1.1.2.3 2001/12/17 11:30:18 ru Exp $
27*86d7f5d3SJohn Marino.\"
28*86d7f5d3SJohn Marino.Dd December 23, 1999
29*86d7f5d3SJohn Marino.Dt VOP_ACLCHECK 9
30*86d7f5d3SJohn Marino.Os
31*86d7f5d3SJohn Marino.Sh NAME
32*86d7f5d3SJohn Marino.Nm VOP_ACLCHECK
33*86d7f5d3SJohn Marino.Nd check an access control list for a vnode
34*86d7f5d3SJohn Marino.Sh SYNOPSIS
35*86d7f5d3SJohn Marino.In sys/param.h
36*86d7f5d3SJohn Marino.In sys/vnode.h
37*86d7f5d3SJohn Marino.In sys/acl.h
38*86d7f5d3SJohn Marino.Ft int
39*86d7f5d3SJohn Marino.Fn VOP_ACLCHECK "struct vnode *vp" "acl_type_t type" "struct acl *aclp" "struct ucred *cred" "struct proc *p"
40*86d7f5d3SJohn Marino.Sh DESCRIPTION
41*86d7f5d3SJohn MarinoThis vnode call may be used to determine the validity of a particular access
42*86d7f5d3SJohn Marinocontrol list (ACL) for a particular file or directory.
43*86d7f5d3SJohn Marino.Pp
44*86d7f5d3SJohn MarinoIts arguments are:
45*86d7f5d3SJohn Marino.Bl -tag -width type
46*86d7f5d3SJohn Marino.It Ar vp
47*86d7f5d3SJohn Marinothe vnode of the file or directory
48*86d7f5d3SJohn Marino.It Ar type
49*86d7f5d3SJohn Marinothe type of ACL to check
50*86d7f5d3SJohn Marino.It Ar aclp
51*86d7f5d3SJohn Marinoa pointer to an ACL structure from which to retrieve the ACL data
52*86d7f5d3SJohn Marino.It Ar cred
53*86d7f5d3SJohn Marinothe user credentials to use in authorizing the request
54*86d7f5d3SJohn Marino.It Ar p
55*86d7f5d3SJohn Marinothe process checking the ACL
56*86d7f5d3SJohn Marino.El
57*86d7f5d3SJohn Marino.Pp
58*86d7f5d3SJohn MarinoThe
59*86d7f5d3SJohn Marino.Fa cred
60*86d7f5d3SJohn Marinopointer may be NULL to indicate that access control checks are not to be
61*86d7f5d3SJohn Marinoperformed, if possible.  This cred setting might be used to allow the
62*86d7f5d3SJohn Marinokernel to authorize ACL verification that the active process might not be
63*86d7f5d3SJohn Marinopermitted to do.
64*86d7f5d3SJohn Marino.Pp
65*86d7f5d3SJohn MarinoThe vnode ACL interface defines the syntax, and not semantics, of file and
66*86d7f5d3SJohn Marinodirectory ACL interfaces.  More information about ACL management in kernel
67*86d7f5d3SJohn Marinomay be found in
68*86d7f5d3SJohn Marino.Xr acl 9 .
69*86d7f5d3SJohn Marino.Sh LOCKS
70*86d7f5d3SJohn MarinoNo locks are required to call this vnode method, and any locks held on
71*86d7f5d3SJohn Marinoentry will be held on exit.
72*86d7f5d3SJohn Marino.Sh RETURN VALUES
73*86d7f5d3SJohn MarinoIf the
74*86d7f5d3SJohn Marino.Fa aclp
75*86d7f5d3SJohn Marinopointer points to a valid ACL of type
76*86d7f5d3SJohn Marino.Fa type
77*86d7f5d3SJohn Marinofor the object
78*86d7f5d3SJohn Marino.Fa vp ,
79*86d7f5d3SJohn Marinothen zero is returned.  Otherwise, an appropriate error code is returned.
80*86d7f5d3SJohn Marino.Sh ERRORS
81*86d7f5d3SJohn Marino.Bl -tag -width Er
82*86d7f5d3SJohn Marino.It Bq Er EINVAL
83*86d7f5d3SJohn MarinoThe ACL type passed is invalid for this vnode, or the ACL data is invalid
84*86d7f5d3SJohn Marino.It Bq Er EACCES
85*86d7f5d3SJohn MarinoPermission denied
86*86d7f5d3SJohn Marino.It Bq Er ENOMEM
87*86d7f5d3SJohn MarinoInsufficient memory available to fulfill request
88*86d7f5d3SJohn Marino.It Bq Er EOPNOTSUPP
89*86d7f5d3SJohn MarinoThe file system does not support VOP_ACLCHECK
90*86d7f5d3SJohn Marino.El
91*86d7f5d3SJohn Marino.Sh SEE ALSO
92*86d7f5d3SJohn Marino.Xr acl 9 ,
93*86d7f5d3SJohn Marino.Xr vnode 9 ,
94*86d7f5d3SJohn Marino.Xr VOP_GETACL 9 ,
95*86d7f5d3SJohn Marino.Xr VOP_SETACL 9
96*86d7f5d3SJohn Marino.Sh AUTHORS
97*86d7f5d3SJohn MarinoThis man page was written by
98*86d7f5d3SJohn Marino.An Robert Watson .
99