8212 manpages contain obsolete references
[unleashed.git] / usr / src / man / man5 / smf_security.5
blob6f94f14c4e21f5f131b0d535dca757eee5d31e33
1 '\" te
2 .\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
4 .\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
5 .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH SMF_SECURITY 5 "May 13, 2017"
7 .SH NAME
8 smf_security \- service management facility security behavior
9 .SH DESCRIPTION
10 .LP
11 The configuration subsystem for the service management facility, \fBsmf\fR(5),
12 requires privilege to modify the configuration of a service. Privileges are
13 granted to a user by associating the authorizations described below to the user
14 through \fBuser_attr\fR(4) and \fBprof_attr\fR(4). See \fBrbac\fR(5).
15 .sp
16 .LP
17 The following authorization is used to manipulate services and service
18 instances.
19 .sp
20 .ne 2
21 .na
22 \fB\fBsolaris.smf.modify\fR\fR
23 .ad
24 .RS 22n
25 Authorized to add, delete, or modify services, service instances, or their
26 properties, and to read protected property values.
27 .RE
29 .SS "Property Group Authorizations"
30 .LP
31 The \fBsmf\fR(5) configuration subsystem associates properties with each
32 service and service instance. Related properties are grouped. Groups can
33 represent an execution method, credential information, application data, or
34 restarter state. The ability to create or modify property groups can cause
35 \fBsmf\fR(5) components to perform actions that can require operating system
36 privilege. Accordingly, the framework requires appropriate authorization to
37 manipulate property groups.
38 .sp
39 .LP
40 Each property group has a type corresponding to its purpose. The core property
41 group types are \fBmethod\fR, \fBdependency\fR, \fBapplication\fR, and
42 \fBframework\fR. Additional property group types can be introduced, provided
43 they conform to the extended naming convention in \fBsmf\fR(5). The following
44 basic authorizations, however, apply only to the core property group types:
45 .sp
46 .ne 2
47 .na
48 \fB\fBsolaris.smf.modify.method\fR\fR
49 .ad
50 .sp .6
51 .RS 4n
52 Authorized to change values or create, delete, or modify a property group of
53 type \fBmethod\fR.
54 .RE
56 .sp
57 .ne 2
58 .na
59 \fB\fBsolaris.smf.modify.dependency\fR\fR
60 .ad
61 .sp .6
62 .RS 4n
63 Authorized to change values or create, delete, or modify a property group of
64 type \fBdependency\fR.
65 .RE
67 .sp
68 .ne 2
69 .na
70 \fB\fBsolaris.smf.modify.application\fR\fR
71 .ad
72 .sp .6
73 .RS 4n
74 Authorized to change values, read protected values, and create, delete, or
75 modify a property group of type application.
76 .RE
78 .sp
79 .ne 2
80 .na
81 \fB\fBsolaris.smf.modify.framework\fR\fR
82 .ad
83 .sp .6
84 .RS 4n
85 Authorized to change values or create, delete, or modify a property group of
86 type \fBframework\fR.
87 .RE
89 .sp
90 .ne 2
91 .na
92 \fB\fBsolaris.smf.modify\fR\fR
93 .ad
94 .sp .6
95 .RS 4n
96 Authorized to add, delete, or modify services, service instances, or their
97 properties, and to read protected property values.
98 .RE
102 Property group-specific authorization can be specified by properties contained
103 in the property group.
105 .ne 2
107 \fB\fBmodify_authorization\fR\fR
109 .RS 24n
110 Authorizations allow the addition, deletion, or modification of properties
111 within the property group, and the retrieval of property values from the
112 property group if protected.
116 .ne 2
118 \fB\fBvalue_authorization\fR\fR
120 .RS 24n
121 Authorizations allow changing the values of any property of the property group
122 except \fBmodify_authorization\fR, and the retrieval of any property values
123 except modify_authorization from the property group if protected.
127 .ne 2
129 \fB\fBread_authorization\fR\fR
131 .RS 24n
132 Authorizations allow the retrieval of property values within the property
133 group. The presence of a string-valued property with this name identifies the
134 containing property group as protected. This property has no effect on property
135 groups of types other than application. See \fBProtected Property Groups\fR.
140 The above authorization properties are only used if they have type
141 \fBastring\fR. If an instance property group does not have one of the
142 properties, but the instance's service has a property group of the same name
143 with the property, its values are used.
144 .SS "Protected Property Groups"
146 Normally, all property values in the repository can be read by any user without
147 explicit authorization. Property groups of non-framework types can be used to
148 store properties with values that require protection. They must not be revealed
149 except upon proper authorization. A property group's status as protected is
150 indicated by the presence of a string-valued \fBread_authorization\fR property.
151 If this property is present, the values of all properties in the property group
152 is retrievable only as described in \fBProperty Group Authorizations\fR.
155 Administrative domains with policies that prohibit backup of data considered
156 sensitive should exclude the SMF repository databases from their backups. In
157 the face of such a policy, non-protected property values can be backed up by
158 using the \fBsvccfg\fR(1M) archive command to create an archive of the
159 repository without protected property values.
160 .SS "Service Action Authorization"
162 Certain actions on service instances can result in service interruption or
163 deactivation. These actions require an authorization to ensure that any denial
164 of service is a deliberate administrative action. Such actions include a
165 request for execution of the refresh or restart methods, or placement of a
166 service instance in the maintenance or other non-operational state. The
167 following authorization allows such actions to be requested:
169 .ne 2
171 \fB\fBsolaris.smf.manage\fR\fR
173 .RS 22n
174 Authorized to request restart, refresh, or other state modification of any
175 service instance.
180 In addition, the \fBgeneral/action_authorization\fR property can specify
181 additional authorizations that permit service actions to be requested for that
182 service instance. The \fBsolaris.smf.manage\fR authorization is required to
183 modify this property.
184 .SS "Defined Rights Profiles"
186 Two rights profiles are included that offer grouped authorizations for
187 manipulating typical \fBsmf\fR(5) operations.
189 .ne 2
191 \fBService Management\fR
193 .RS 22n
194 A service manager can manipulate any service in the repository in any way. It
195 corresponds to the \fBsolaris.smf.manage\fR and \fBsolaris.smf.modify\fR
196 authorizations.
200 .ne 2
202 \fBService Operator\fR
204 .RS 22n
205 A service operator has the ability to enable or disable any service instance on
206 the system, as well as request that its restart or refresh method be executed.
207 It corresponds to the \fBsolaris.smf.manage\fR and
208 \fBsolaris.smf.modify.framework\fR authorizations.
210 Sites can define additional rights profiles customized to their needs.
213 .SS "Remote Repository Modification"
215 Remote repository servers can deny modification attempts due to additional
216 privilege checks. See NOTES.
217 .SH SEE ALSO
219 \fBauths\fR(1), \fBprofiles\fR(1),
220 \fBsvccfg\fR(1M), \fBprof_attr\fR(4), \fBuser_attr\fR(4), \fBrbac\fR(5),
221 \fBsmf\fR(5)
222 .SH NOTES
224 The present version of \fBsmf\fR(5) does not support remote repositories.
227 When a service is configured to be started as root but with privileges
228 different from \fBlimit_privileges\fR, the resulting process is privilege
229 aware.  This can be surprising to developers who expect \fBseteuid(<non-zero
230 UID>)\fR to reduce privileges to basic or less.