xref: /freebsd/share/man/man9/cr_cansee.9 (revision 911f0260390e18cf85f3dbf2c719b593efdc1e3c)
1.\"
2.\" Copyright (c) 2006 Ceri Davies <ceri@FreeBSD.org>
3.\"
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd November 19, 2006
29.Dt CR_CANSEE 9
30.Os
31.Sh NAME
32.Nm cr_cansee
33.Nd "determine visibility of objects given their user credentials"
34.Sh SYNOPSIS
35.In sys/param.h
36.In sys/systm.h
37.In sys/ucred.h
38.Ft int
39.Fn cr_cansee "struct ucred *u1" "struct ucred *u2"
40.Sh DESCRIPTION
41This function determines the visibility of objects in the
42kernel based on the real user IDs and group IDs in the credentials
43.Fa u1
44and
45.Fa u2
46associated with them.
47.Pp
48The visibility of objects is influenced by the
49.Xr sysctl 8
50variables
51.Va security.bsd.see_other_gids
52and
53.Va security.bsd.see_other_uids ,
54as per the description in
55.Xr cr_seeothergids 9
56and
57.Xr cr_seeotheruids 9
58respectively.
59.Sh RETURN VALUES
60This function returns zero if the object with credential
61.Fa u1
62can
63.Dq see
64the object with credential
65.Fa u2 ,
66or
67.Er ESRCH
68otherwise.
69.Sh ERRORS
70.Bl -tag -width Er
71.It Bq Er ESRCH
72The object with credential
73.Fa u1
74cannot
75.Dq see
76the object with credential
77.Fa u2 .
78.It Bq Er ESRCH
79The object with credential
80.Fa u1
81has been jailed and the object with credential
82.Fa u2
83does not belong to the same jail as
84.Fa u1 .
85.It Bq Er ESRCH
86The MAC subsystem denied visibility.
87.El
88.Sh SEE ALSO
89.Xr cr_seeothergids 9 ,
90.Xr cr_seeotheruids 9 ,
91.Xr mac 9 ,
92.Xr p_cansee 9
93