SMF_SECURITY(7) Standards, Environments, and Macros SMF_SECURITY(7)
NAME
smf_security - service management facility security behavior
DESCRIPTION
The configuration subsystem for the service management facility,
smf(7), requires privilege to modify the configuration of a service.
Privileges are granted to a user by associating the authorizations
described below to the user through
user_attr(5) and
prof_attr(5).
See
rbac(7).
The following authorization is used to manipulate services and
service instances.
solaris.smf.modify Authorized to add, delete, or modify services,
service instances, or their properties, and to
read protected property values.
Property Group Authorizations
The
smf(7) configuration subsystem associates properties with each
service and service instance. Related properties are grouped. Groups
can represent an execution method, credential information,
application data, or restarter state. The ability to create or modify
property groups can cause
smf(7) components to perform actions that
can require operating system privilege. Accordingly, the framework
requires appropriate authorization to manipulate property groups.
Each property group has a type corresponding to its purpose. The core
property group types are
method,
dependency,
application, and
framework. Additional property group types can be introduced,
provided they conform to the extended naming convention in
smf(7).
The following basic authorizations, however, apply only to the core
property group types:
solaris.smf.modify.method Authorized to change values or create, delete, or modify a
property group of type
method.
solaris.smf.modify.dependency Authorized to change values or create, delete, or modify a
property group of type
dependency.
solaris.smf.modify.application Authorized to change values, read protected values, and create,
delete, or modify a property group of type application.
solaris.smf.modify.framework Authorized to change values or create, delete, or modify a
property group of type
framework.
solaris.smf.modify Authorized to add, delete, or modify services, service instances,
or their properties, and to read protected property values.
Property group-specific authorization can be specified by properties
contained in the property group.
modify_authorization Authorizations allow the addition, deletion,
or modification of properties within the
property group, and the retrieval of property
values from the property group if protected.
value_authorization Authorizations allow changing the values of
any property of the property group except
modify_authorization, and the retrieval of
any property values except
modify_authorization from the property group
if protected.
read_authorization Authorizations allow the retrieval of
property values within the property group.
The presence of a string-valued property with
this name identifies the containing property
group as protected. This property has no
effect on property groups of types other than
application. See
Protected Property Groups.
The above authorization properties are only used if they have type
astring. If an instance property group does not have one of the
properties, but the instance's service has a property group of the
same name with the property, its values are used.
Protected Property Groups
Normally, all property values in the repository can be read by any
user without explicit authorization. Property groups of non-framework
types can be used to store properties with values that require
protection. They must not be revealed except upon proper
authorization. A property group's status as protected is indicated by
the presence of a string-valued
read_authorization property. If this
property is present, the values of all properties in the property
group is retrievable only as described in
Property Group Authorizations.
Administrative domains with policies that prohibit backup of data
considered sensitive should exclude the SMF repository databases from
their backups. In the face of such a policy, non-protected property
values can be backed up by using the
svccfg(8) archive command to
create an archive of the repository without protected property
values.
Service Action Authorization
Certain actions on service instances can result in service
interruption or deactivation. These actions require an authorization
to ensure that any denial of service is a deliberate administrative
action. Such actions include a request for execution of the refresh
or restart methods, or placement of a service instance in the
maintenance or other non-operational state. The following
authorization allows such actions to be requested:
solaris.smf.manage Authorized to request restart, refresh, or
other state modification of any service
instance.
In addition, the
general/action_authorization property can specify
additional authorizations that permit service actions to be requested
for that service instance. The
solaris.smf.manage authorization is
required to modify this property.
Defined Rights Profiles
Two rights profiles are included that offer grouped authorizations
for manipulating typical
smf(7) operations.
Service Management A service manager can manipulate any service in
the repository in any way. It corresponds to
the
solaris.smf.manage and
solaris.smf.modify authorizations.
Service Operator A service operator has the ability to enable or
disable any service instance on the system, as
well as request that its restart or refresh
method be executed. It corresponds to the
solaris.smf.manage and
solaris.smf.modify.framework authorizations.
Sites can define additional rights profiles
customized to their needs.
Remote Repository Modification
Remote repository servers can deny modification attempts due to
additional privilege checks. See NOTES.
SEE ALSO
auths(1),
profiles(1),
prof_attr(5),
user_attr(5),
rbac(7),
smf(7),
svccfg(8)NOTES
The present version of
smf(7) does not support remote repositories.
When a service is configured to be started as root but with
privileges different from
limit_privileges, the resulting process is
privilege aware. This can be surprising to developers who expect
seteuid(<non-zero UID>) to reduce privileges to basic or less.
May 13, 2017 SMF_SECURITY(7)