xref: /freebsd/lib/libc/posix1e/mac.3 (revision ec05f17e3860f6a50f9bd043e19acb7c42bda4f2)
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$
32d97fcfceSRobert Watson.Dd December 21, 2001
33d97fcfceSRobert Watson.Dt MAC 3
34d97fcfceSRobert Watson.Sh NAME
35d97fcfceSRobert Watson.Nm mac
36d97fcfceSRobert Watson.Nd introduction to the POSIX.1e MAC security API
37d97fcfceSRobert Watson.Sh LIBRARY
38d97fcfceSRobert Watson.Lb libc
39d97fcfceSRobert Watson.Sh SYNOPSIS
40d97fcfceSRobert Watson.In sys/mac.h
41d97fcfceSRobert Watson.Pp
42d97fcfceSRobert WatsonIn the kernel configuration file:
43d97fcfceSRobert Watson.Cd "options MAC"
44d97fcfceSRobert Watson.Sh DESCRIPTION
45d97fcfceSRobert Watson.Fx
46d97fcfceSRobert Watsonpermits administrators to define Mandatory Access Control labels
47d97fcfceSRobert Watsondefining levels for the privacy and integrity of data,
48d97fcfceSRobert Watsonoverriding discretionary policies
49d97fcfceSRobert Watsonfor those objects.
50d97fcfceSRobert WatsonNot all objects currently provide support for MAC labels,
51d97fcfceSRobert Watsonand MAC support must be explicitly enabled by the administrator.
52d97fcfceSRobert WatsonThe library calls include routines to retrieve, duplicate,
53d97fcfceSRobert Watsonand set MAC labels associated with files and processes.
54d97fcfceSRobert Watson.Pp
55d97fcfceSRobert WatsonPOSIX.1e describes a set of MAC manipulation routines
56d97fcfceSRobert Watsonto manage the contents of MAC labels,
57d97fcfceSRobert Watsonas well as their relationships with
58d97fcfceSRobert Watsonfiles and processes;
59d97fcfceSRobert Watsonalmost all of these support routines
60d97fcfceSRobert Watsonare implemented in
61d97fcfceSRobert Watson.Fx .
62d97fcfceSRobert Watson.Pp
63d97fcfceSRobert WatsonAvailable functions, sorted by behavior, include:
64d97fcfceSRobert Watson.Bl -tag -width indent
65d97fcfceSRobert Watson.It Fn mac_get_fd
66d97fcfceSRobert WatsonThis function is described in
67d97fcfceSRobert Watson.Xr mac_get 3 ,
68d97fcfceSRobert Watsonand may be used to retrieve the
69d97fcfceSRobert WatsonMAC label associated with
70d97fcfceSRobert Watsona specific file descriptor.
71d97fcfceSRobert Watson.It Fn mac_get_file
72d97fcfceSRobert WatsonThis function is described in
73d97fcfceSRobert Watson.Xr mac_get 3 ,
74d97fcfceSRobert Watsonand may be used to retrieve the
75d97fcfceSRobert WatsonMAC label associated with
76d97fcfceSRobert Watsona named file.
77d97fcfceSRobert Watson.It Fn mac_get_proc
78d97fcfceSRobert WatsonThis function is described in
79d97fcfceSRobert Watson.Xr mac_get 3 ,
80d97fcfceSRobert Watsonand may be used to retrieve the
81d97fcfceSRobert WatsonMAC label associated with
82d97fcfceSRobert Watsonthe calling process.
83d97fcfceSRobert Watson.It Fn mac_set_fd
84d97fcfceSRobert WatsonThis function is described in
85d97fcfceSRobert Watson.Xr mac_set 3 ,
86d97fcfceSRobert Watsonand may be used to set the
87d97fcfceSRobert WatsonMAC label associated with
88d97fcfceSRobert Watsona specific file descriptor.
89d97fcfceSRobert Watson.It Fn mac_set_file
90d97fcfceSRobert WatsonThis function is described in
91d97fcfceSRobert Watson.Xr mac_set 3 ,
92d97fcfceSRobert Watsonand may be used to set the
93d97fcfceSRobert WatsonMAC label associated with
94d97fcfceSRobert Watsona named file.
95d97fcfceSRobert Watson.It Fn mac_set_proc
96d97fcfceSRobert WatsonThis function is described in
97d97fcfceSRobert Watson.Xr mac_set 3 ,
98d97fcfceSRobert Watsonand may be used to set the
99d97fcfceSRobert WatsonMAC label associated with
100d97fcfceSRobert Watsonthe calling process.
101d97fcfceSRobert Watson.It Fn mac_free
102d97fcfceSRobert WatsonThis function is described in
103d97fcfceSRobert Watson.Xr mac_free 3 ,
104d97fcfceSRobert Watsonand may be used to free
105d97fcfceSRobert Watsonuserland working MAC label storage.
106d97fcfceSRobert Watson.It Fn mac_from_text
107d97fcfceSRobert WatsonThis function is described in
108d97fcfceSRobert Watson.Xr mac_text 3 ,
109d97fcfceSRobert Watsonand may be used to convert
110d97fcfceSRobert Watsona text-form MAC label
111d97fcfceSRobert Watsoninto a working
112d97fcfceSRobert Watson.Vt mac_t .
113d97fcfceSRobert Watson.It Fn mac_to_text
114d97fcfceSRobert WatsonThis function is described in
115d97fcfceSRobert Watson.Xr mac_text 3 ,
116d97fcfceSRobert Watsonand may be used to convert a
117d97fcfceSRobert Watson.Vt mac_t
118d97fcfceSRobert Watsoninto a text-form MAC label.
119d97fcfceSRobert Watson.El
120d97fcfceSRobert Watson.Sh IMPLEMENTATION NOTES
121d97fcfceSRobert Watson.Fx Ns 's
122d97fcfceSRobert Watsonsupport for POSIX.1e interfaces and features
123d97fcfceSRobert Watsonis still under development
124d97fcfceSRobert Watsonat this time.
125d97fcfceSRobert Watson.Sh SEE ALSO
126d97fcfceSRobert Watson.Xr mac_free 3 ,
127d97fcfceSRobert Watson.Xr mac_get 3 ,
128d97fcfceSRobert Watson.Xr mac_set 3 ,
12919eab74aSRobert Watson.Xr mac_text 3 ,
13019eab74aSRobert Watson.Xr mac 9
131d97fcfceSRobert Watson.Sh STANDARDS
132d97fcfceSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17.
133d97fcfceSRobert WatsonDiscussion of the draft
134d97fcfceSRobert Watsoncontinues on the cross-platform POSIX.1e implementation mailing list.
135d97fcfceSRobert WatsonTo join this list, see the
136d97fcfceSRobert Watson.Fx
137d97fcfceSRobert WatsonPOSIX.1e implementation page
138d97fcfceSRobert Watsonfor more information.
139ec05f17eSRobert Watson.Sh HISTORY
140ec05f17eSRobert WatsonSupport for Mandatory Access Control was introduced in
141ec05f17eSRobert Watson.Fx 5.0
142ec05f17eSRobert Watsonas part of the TrustedBSD Project.
143443ab2a0SRobert Watson.Sh BUGS
144443ab2a0SRobert WatsonThe TrustedBSD MAC Framework and associated policies, interfaces, and
145443ab2a0SRobert Watsonapplications are considered to be an experimental feature in
146443ab2a0SRobert Watson.Fx .
147443ab2a0SRobert WatsonSites considering production deployment should keep the experimental
148443ab2a0SRobert Watsonstatus of these services in mind during any deployment process.
149443ab2a0SRobert WatsonSee also
150443ab2a0SRobert Watson.Xr mac 9
151443ab2a0SRobert Watsonfor related considerations regarding the kernel framework.
152