xref: /freebsd/lib/libc/posix1e/mac.conf.5 (revision 39ee7a7a6bdd1557b1c3532abf60d139798ac88b)
1.\" Copyright (c) 2003 Networks Associates Technology, Inc.
2.\" All rights reserved.
3.\"
4.\" This software was developed for the FreeBSD Project in part by Network
5.\" Associates Laboratories, the Security Research Division of Network
6.\" Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"),
7.\" as part of the DARPA CHATS research program.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28.\" SUCH DAMAGE.
29.\"
30.\" $FreeBSD$
31.\"
32.Dd July 25, 2015
33.Dt MAC.CONF 5
34.Os
35.Sh NAME
36.Nm mac.conf
37.Nd format of the MAC library configuration file
38.Sh DESCRIPTION
39The
40.Nm
41file configures the default label elements to be used by policy-agnostic
42applications that operate on MAC labels.
43A file contains a series of default label sets specified by object class,
44in addition to blank lines and comments preceded by a
45.Ql #
46symbol.
47.Pp
48Currently, the implementation supports two syntax styles for label
49element declaration.
50The old (deprecated) syntax consists of a
51single line with two fields separated by white space: the object
52class name, and a list of label elements as used by the
53.Xr mac_prepare 3
54library calls prior to an application invocation of a function from
55.Xr mac_get 3 .
56.Pp
57The newer more preferred syntax consists of three fields separated by
58white space: the label group, object class name and a list of
59label elements.
60.Pp
61Label element names may optionally begin with a
62.Ql \&?
63symbol to indicate that a failure to retrieve the label element for
64an object should be silently ignored, and improves usability if the
65set of MAC policies may change over time.
66.Sh FILES
67.Bl -tag -width ".Pa /etc/mac.conf" -compact
68.It Pa /etc/mac.conf
69MAC library configuration file.
70.El
71.Sh EXAMPLES
72The following example configures user applications to operate with
73four MAC policies:
74.Xr mac_biba 4 ,
75.Xr mac_mls 4 ,
76SEBSD,
77and
78.Xr mac_partition 4 .
79.Bd -literal -offset indent
80#
81# Default label set to be used by simple MAC applications
82
83default_labels file ?biba,?lomac,?mls,?sebsd
84default_labels ifnet ?biba,?lomac,?mls,?sebsd
85default_labels process ?biba,?lomac,?mls,?partition,?sebsd
86default_labels socket ?biba,?lomac,?mls
87
88#
89# Deprecated (old) syntax
90
91default_file_labels ?biba,?mls,?sebsd
92default_ifnet_labels ?biba,?mls,?sebsd
93default_process_labels ?biba,?mls,partition,?sebsd
94.Ed
95.Pp
96In this example, userland applications will attempt to retrieve Biba,
97MLS, and SEBSD labels for all object classes; for processes, they will
98additionally attempt to retrieve a Partition identifier.
99In all cases except the Partition identifier, failure to retrieve a
100label due to the respective policy not being present will be ignored.
101.Sh SEE ALSO
102.Xr mac 3 ,
103.Xr mac_get 3 ,
104.Xr mac_prepare 3 ,
105.Xr mac 4 ,
106.Xr mac 9
107.Sh HISTORY
108Support for Mandatory Access Control was introduced in
109.Fx 5.0
110as part of the
111.Tn TrustedBSD
112Project.
113