xref: /freebsd/lib/libc/posix1e/mac.3 (revision 3b29692060f7f4ee8f121c0f0b3b86c348b6fa63)
1d97fcfceSRobert Watson.\" Copyright (c) 2001 Networks Associates Technology, Inc.
2d97fcfceSRobert Watson.\" All rights reserved.
3d97fcfceSRobert Watson.\"
4d97fcfceSRobert Watson.\" This software was developed for the FreeBSD Project by Chris
5ec05f17eSRobert Watson.\" Costello at Safeport Network Services and Network Associates
6ec05f17eSRobert Watson.\" Laboratories, the Security Research Division of Network Associates,
7ec05f17eSRobert Watson.\" Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part
8ec05f17eSRobert Watson.\" of the DARPA CHATS research program.
9d97fcfceSRobert Watson.\"
10d97fcfceSRobert Watson.\" Redistribution and use in source and binary forms, with or without
11d97fcfceSRobert Watson.\" modification, are permitted provided that the following conditions
12d97fcfceSRobert Watson.\" are met:
13d97fcfceSRobert Watson.\" 1. Redistributions of source code must retain the above copyright
14d97fcfceSRobert Watson.\"    notice, this list of conditions and the following disclaimer.
15d97fcfceSRobert Watson.\" 2. Redistributions in binary form must reproduce the above copyright
16d97fcfceSRobert Watson.\"    notice, this list of conditions and the following disclaimer in the
17d97fcfceSRobert Watson.\"    documentation and/or other materials provided with the distribution.
18d97fcfceSRobert Watson.\"
19d97fcfceSRobert Watson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
20d97fcfceSRobert Watson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21d97fcfceSRobert Watson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22d97fcfceSRobert Watson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
23d97fcfceSRobert Watson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24d97fcfceSRobert Watson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25d97fcfceSRobert Watson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26d97fcfceSRobert Watson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27d97fcfceSRobert Watson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28d97fcfceSRobert Watson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29d97fcfceSRobert Watson.\" SUCH DAMAGE.
30d97fcfceSRobert Watson.\"
31d97fcfceSRobert Watson.\" $FreeBSD$
323b296920SRuslan Ermilov.\"
33d97fcfceSRobert Watson.Dd December 21, 2001
34d97fcfceSRobert Watson.Dt MAC 3
35d97fcfceSRobert Watson.Sh NAME
36d97fcfceSRobert Watson.Nm mac
37d97fcfceSRobert Watson.Nd introduction to the POSIX.1e MAC security API
38d97fcfceSRobert Watson.Sh LIBRARY
39d97fcfceSRobert Watson.Lb libc
40d97fcfceSRobert Watson.Sh SYNOPSIS
41d97fcfceSRobert Watson.In sys/mac.h
42d97fcfceSRobert Watson.Pp
43d97fcfceSRobert WatsonIn the kernel configuration file:
44d97fcfceSRobert Watson.Cd "options MAC"
45d97fcfceSRobert Watson.Sh DESCRIPTION
46d97fcfceSRobert Watson.Fx
47d97fcfceSRobert Watsonpermits administrators to define Mandatory Access Control labels
48d97fcfceSRobert Watsondefining levels for the privacy and integrity of data,
49d97fcfceSRobert Watsonoverriding discretionary policies
50d97fcfceSRobert Watsonfor those objects.
51d97fcfceSRobert WatsonNot all objects currently provide support for MAC labels,
52d97fcfceSRobert Watsonand MAC support must be explicitly enabled by the administrator.
53d97fcfceSRobert WatsonThe library calls include routines to retrieve, duplicate,
54d97fcfceSRobert Watsonand set MAC labels associated with files and processes.
55d97fcfceSRobert Watson.Pp
56d97fcfceSRobert WatsonPOSIX.1e describes a set of MAC manipulation routines
57d97fcfceSRobert Watsonto manage the contents of MAC labels,
58d97fcfceSRobert Watsonas well as their relationships with
59d97fcfceSRobert Watsonfiles and processes;
60d97fcfceSRobert Watsonalmost all of these support routines
61d97fcfceSRobert Watsonare implemented in
62d97fcfceSRobert Watson.Fx .
63d97fcfceSRobert Watson.Pp
64d97fcfceSRobert WatsonAvailable functions, sorted by behavior, include:
65d97fcfceSRobert Watson.Bl -tag -width indent
66d97fcfceSRobert Watson.It Fn mac_get_fd
67d97fcfceSRobert WatsonThis function is described in
68d97fcfceSRobert Watson.Xr mac_get 3 ,
69d97fcfceSRobert Watsonand may be used to retrieve the
70d97fcfceSRobert WatsonMAC label associated with
71d97fcfceSRobert Watsona specific file descriptor.
72d97fcfceSRobert Watson.It Fn mac_get_file
73d97fcfceSRobert WatsonThis function is described in
74d97fcfceSRobert Watson.Xr mac_get 3 ,
75d97fcfceSRobert Watsonand may be used to retrieve the
76d97fcfceSRobert WatsonMAC label associated with
77d97fcfceSRobert Watsona named file.
78d97fcfceSRobert Watson.It Fn mac_get_proc
79d97fcfceSRobert WatsonThis function is described in
80d97fcfceSRobert Watson.Xr mac_get 3 ,
81d97fcfceSRobert Watsonand may be used to retrieve the
82d97fcfceSRobert WatsonMAC label associated with
83d97fcfceSRobert Watsonthe calling process.
84d97fcfceSRobert Watson.It Fn mac_set_fd
85d97fcfceSRobert WatsonThis function is described in
86d97fcfceSRobert Watson.Xr mac_set 3 ,
87d97fcfceSRobert Watsonand may be used to set the
88d97fcfceSRobert WatsonMAC label associated with
89d97fcfceSRobert Watsona specific file descriptor.
90d97fcfceSRobert Watson.It Fn mac_set_file
91d97fcfceSRobert WatsonThis function is described in
92d97fcfceSRobert Watson.Xr mac_set 3 ,
93d97fcfceSRobert Watsonand may be used to set the
94d97fcfceSRobert WatsonMAC label associated with
95d97fcfceSRobert Watsona named file.
96d97fcfceSRobert Watson.It Fn mac_set_proc
97d97fcfceSRobert WatsonThis function is described in
98d97fcfceSRobert Watson.Xr mac_set 3 ,
99d97fcfceSRobert Watsonand may be used to set the
100d97fcfceSRobert WatsonMAC label associated with
101d97fcfceSRobert Watsonthe calling process.
102d97fcfceSRobert Watson.It Fn mac_free
103d97fcfceSRobert WatsonThis function is described in
104d97fcfceSRobert Watson.Xr mac_free 3 ,
105d97fcfceSRobert Watsonand may be used to free
106d97fcfceSRobert Watsonuserland working MAC label storage.
107d97fcfceSRobert Watson.It Fn mac_from_text
108d97fcfceSRobert WatsonThis function is described in
109d97fcfceSRobert Watson.Xr mac_text 3 ,
110d97fcfceSRobert Watsonand may be used to convert
111d97fcfceSRobert Watsona text-form MAC label
112d97fcfceSRobert Watsoninto a working
113d97fcfceSRobert Watson.Vt mac_t .
114d97fcfceSRobert Watson.It Fn mac_to_text
115d97fcfceSRobert WatsonThis function is described in
116d97fcfceSRobert Watson.Xr mac_text 3 ,
117d97fcfceSRobert Watsonand may be used to convert a
118d97fcfceSRobert Watson.Vt mac_t
119d97fcfceSRobert Watsoninto a text-form MAC label.
120d97fcfceSRobert Watson.El
121d97fcfceSRobert Watson.Sh IMPLEMENTATION NOTES
122d97fcfceSRobert Watson.Fx Ns 's
123d97fcfceSRobert Watsonsupport for POSIX.1e interfaces and features
1243b296920SRuslan Ermilovis
1253b296920SRuslan Ermilov.Ud .
126d97fcfceSRobert Watson.Sh SEE ALSO
127d97fcfceSRobert Watson.Xr mac_free 3 ,
128d97fcfceSRobert Watson.Xr mac_get 3 ,
129d97fcfceSRobert Watson.Xr mac_set 3 ,
13019eab74aSRobert Watson.Xr mac_text 3 ,
13119eab74aSRobert Watson.Xr mac 9
132d97fcfceSRobert Watson.Sh STANDARDS
133d97fcfceSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17.
134d97fcfceSRobert WatsonDiscussion of the draft
135d97fcfceSRobert Watsoncontinues on the cross-platform POSIX.1e implementation mailing list.
136d97fcfceSRobert WatsonTo join this list, see the
137d97fcfceSRobert Watson.Fx
138d97fcfceSRobert WatsonPOSIX.1e implementation page
139d97fcfceSRobert Watsonfor more information.
140ec05f17eSRobert Watson.Sh HISTORY
141ec05f17eSRobert WatsonSupport for Mandatory Access Control was introduced in
142ec05f17eSRobert Watson.Fx 5.0
1433b296920SRuslan Ermilovas part of the
1443b296920SRuslan Ermilov.Tn TrustedBSD
1453b296920SRuslan ErmilovProject.
146443ab2a0SRobert Watson.Sh BUGS
1473b296920SRuslan ErmilovThe
1483b296920SRuslan Ermilov.Tn TrustedBSD
1493b296920SRuslan ErmilovMAC Framework and associated policies, interfaces, and
150443ab2a0SRobert Watsonapplications are considered to be an experimental feature in
151443ab2a0SRobert Watson.Fx .
152443ab2a0SRobert WatsonSites considering production deployment should keep the experimental
153443ab2a0SRobert Watsonstatus of these services in mind during any deployment process.
154443ab2a0SRobert WatsonSee also
155443ab2a0SRobert Watson.Xr mac 9
156443ab2a0SRobert Watsonfor related considerations regarding the kernel framework.
157