xref: /illumos-gate/usr/src/man/man8/svccfg.8 (revision 75987085)
1*75987085SAndy Fiddaman.\" The contents of this file are subject to the terms of the Common
2*75987085SAndy Fiddaman.\" Development and Distribution License (the "License"). You may not use
3*75987085SAndy Fiddaman.\" this file except in compliance with the License. You can obtain a copy
4*75987085SAndy Fiddaman.\" of the license at usr/src/OPENSOLARIS.LICENSE or
5*75987085SAndy Fiddaman.\" http://www.opensolaris.org/os/licensing.
6*75987085SAndy Fiddaman.\"
7*75987085SAndy Fiddaman.\" See the License for the specific language governing permissions and
8*75987085SAndy Fiddaman.\" limitations under the License. When distributing Covered Code, include
9*75987085SAndy Fiddaman.\" this CDDL HEADER in each file and include the License file at
10*75987085SAndy Fiddaman.\" usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below
11*75987085SAndy Fiddaman.\" this CDDL HEADER, with the
12*75987085SAndy Fiddaman.\"
13*75987085SAndy Fiddaman.\" fields enclosed by brackets "[]" replaced with your own identifying
14*75987085SAndy Fiddaman.\" information: Portions Copyright [yyyy] [name of copyright owner]
15*75987085SAndy Fiddaman.\"
16c10c16deSRichard Lowe.\" Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
17bfce16baSKeith M Wesolowski.\" Copyright 2012, Joyent, Inc. All Rights Reserved
18*75987085SAndy Fiddaman.\" Copyright 2023 Oxide Computer Company
19*75987085SAndy Fiddaman.\"
20*75987085SAndy Fiddaman.Dd June 1, 2023
21*75987085SAndy Fiddaman.Dt SVCCFG 8
22*75987085SAndy Fiddaman.Os
23*75987085SAndy Fiddaman.Sh NAME
24*75987085SAndy Fiddaman.Nm svccfg
25*75987085SAndy Fiddaman.Nd import, export, and modify service configurations
26*75987085SAndy Fiddaman.Sh SYNOPSIS
27*75987085SAndy Fiddaman.Nm
28*75987085SAndy Fiddaman.Op Fl v
29*75987085SAndy Fiddaman.Op Fl z Ar zone
30*75987085SAndy Fiddaman.Op Fl s Ar FMRI
31*75987085SAndy Fiddaman.Nm
32*75987085SAndy Fiddaman.Op Fl v
33*75987085SAndy Fiddaman.Op Fl z Ar zone
34*75987085SAndy Fiddaman.Op Fl s Ar FMRI
35*75987085SAndy Fiddaman.Ar subcommand Op Ar args Ns \&...
36*75987085SAndy Fiddaman.Nm
37*75987085SAndy Fiddaman.Op Fl v
38*75987085SAndy Fiddaman.Op Fl z Ar zone
39*75987085SAndy Fiddaman.Op Fl s Ar FMRI
40*75987085SAndy Fiddaman.Fl f Ar command-file
41*75987085SAndy Fiddaman.Sh DESCRIPTION
42*75987085SAndy FiddamanThe
43*75987085SAndy Fiddaman.Nm
44*75987085SAndy Fiddamancommand manipulates data in the service configuration repository.
45*75987085SAndy Fiddaman.Nm
46*75987085SAndy Fiddamancan be invoked interactively, with an individual subcommand, or by specifying a
47*75987085SAndy Fiddamancommand file that contains a series of subcommands.
48*75987085SAndy Fiddaman.Pp
49c10c16deSRichard LoweChanges made to an existing service in the repository typically do not take
50c10c16deSRichard Loweeffect for that service until the next time the service instance is refreshed.
51*75987085SAndy FiddamanSee the
52*75987085SAndy Fiddaman.Sy refresh
53*75987085SAndy Fiddamansubcommand on the
54*75987085SAndy Fiddaman.Xr svcadm 8
55*75987085SAndy Fiddamanman page for more details.
56*75987085SAndy Fiddaman.Sh OPTIONS
57c10c16deSRichard LoweThe following options are supported:
58*75987085SAndy Fiddaman.Bl -tag -width Ar
59*75987085SAndy Fiddaman.It Fl f Ar file
60*75987085SAndy FiddamanReads and executes
61*75987085SAndy Fiddaman.Nm
62*75987085SAndy Fiddamansubcommands from
63*75987085SAndy Fiddaman.Ar file .
64*75987085SAndy Fiddaman.It Fl s Ar FMRI
65*75987085SAndy FiddamanSelects the entity indicated by
66*75987085SAndy Fiddaman.Ar FMRI
67*75987085SAndy Fiddaman.Pq a fault management resource identifier
68*75987085SAndy Fiddamanbefore executing any subcommands.
69*75987085SAndy FiddamanSee
70*75987085SAndy Fiddaman.Xr smf 7 .
71*75987085SAndy Fiddaman.It Fl v
72*75987085SAndy FiddamanProduce more verbose output.
73*75987085SAndy Fiddaman.It Fl z Ar zone
74*75987085SAndy FiddamanManage services in the specified zone.
75*75987085SAndy FiddamanThis option is only applicable from the global zone, see
76*75987085SAndy Fiddaman.Xr zones 7 .
77*75987085SAndy Fiddaman.El
78*75987085SAndy Fiddaman.Sh SUBCOMMANDS
79c10c16deSRichard LoweSubcommands are divided into the categories specified in the subsections that
80c10c16deSRichard Lowefollow.
81*75987085SAndy Fiddaman.Pp
82*75987085SAndy FiddamanAll subcommands that accept
83*75987085SAndy Fiddaman.Ar FMRI Ns No s
84*75987085SAndy Fiddamanalso accept abbreviated or globbed patterns.
85*75987085SAndy FiddamanInstances and services can be abbreviated by specifying the instance name, or
86*75987085SAndy Fiddamanthe trailing portion of the service name.
87*75987085SAndy FiddamanFor example, given the
88*75987085SAndy Fiddaman.Ar FMRI :
89*75987085SAndy Fiddaman.Pp
90*75987085SAndy Fiddaman.D1 svc:/network/smtp:sendmail
91*75987085SAndy Fiddaman.Pp
92c10c16deSRichard LoweAll the following are valid abbreviations:
93*75987085SAndy Fiddaman.Pp
94*75987085SAndy Fiddaman.D1 sendmail :sendmail smtp smtp:sendmail network/smtp
95*75987085SAndy Fiddaman.Pp
96c10c16deSRichard LoweWhile the following are invalid:
97*75987085SAndy Fiddaman.Pp
98*75987085SAndy Fiddaman.D1 mail network network/smt
99*75987085SAndy Fiddaman.Pp
100*75987085SAndy FiddamanAbbreviated forms of
101*75987085SAndy Fiddaman.Ar FMRI Ns No s
102*75987085SAndy Fiddamanare unstable, and should not be used in scripts or other permanent tools.
103*75987085SAndy FiddamanIf a pattern matches more than one instance or service, an error message is
104*75987085SAndy Fiddamanprinted and no action is taken.
105*75987085SAndy Fiddaman.Ss General Subcommands
106*75987085SAndy Fiddaman.Bl -tag -width Ar
107*75987085SAndy Fiddaman.It Ic end , exit , quit
108c10c16deSRichard LoweExits immediately.
109*75987085SAndy Fiddaman.It Ic repository Ar repfile
110*75987085SAndy FiddamanUses
111*75987085SAndy Fiddaman.Ar repfile
112*75987085SAndy Fiddamanas a repository.
113*75987085SAndy FiddamanBy default,
114*75987085SAndy Fiddaman.Nm
115*75987085SAndy Fiddamanuses the system repository.
116*75987085SAndy Fiddaman.Pp
117*75987085SAndy FiddamanUse repository only with files from the identical version of illumos, including
118*75987085SAndy Fiddamanupdates, that you are currently running.
119*75987085SAndy FiddamanDo not use this subcommand with the system repository,
120*75987085SAndy Fiddaman.Pa /etc/svc/repository.db .
121*75987085SAndy Fiddaman.It Ic set Oo Fl v | V Oc
122*75987085SAndy FiddamanSets optional behavior.
123*75987085SAndy FiddamanIf no options are specified, set displays the options currently in effect.
124*75987085SAndy Fiddaman.Bl -tag -width Ds
125*75987085SAndy Fiddaman.It Fl v
126c10c16deSRichard LoweTurns on verbose mode.
127*75987085SAndy Fiddaman.It Fl V
128c10c16deSRichard LoweTurns off verbose mode.
129*75987085SAndy Fiddaman.El
130*75987085SAndy Fiddaman.El
131*75987085SAndy Fiddaman.Ss Service Profile Subcommands
132*75987085SAndy Fiddaman.Bl -tag -width Ar
133*75987085SAndy Fiddaman.It Ic apply Oo Fl n Oc Ar file
134*75987085SAndy FiddamanIf
135*75987085SAndy Fiddaman.Ar file
136*75987085SAndy Fiddamanis a service profile, properties, including general/enabled, that are specified
137*75987085SAndy Fiddamanin the file are modified in the SMF repository.
138*75987085SAndy FiddamanNot-yet-existent properties and property groups will be created.
139*75987085SAndy FiddamanThe type of the pre-existing property groups will not be changed by the profile.
140*75987085SAndy FiddamanExisting properties
141*75987085SAndy Fiddaman.Pq as distinguished from property groups
142*75987085SAndy Fiddaman.Em can
143*75987085SAndy Fiddamanhave their type changed by the profile.
144*75987085SAndy FiddamanNonexistent services and instances are ignored.
145*75987085SAndy FiddamanServices and instances modified by the profile will be refreshed.
146*75987085SAndy FiddamanIf
147*75987085SAndy Fiddaman.Fl n
148*75987085SAndy Fiddamanis specified, the profile is processed and no changes are applied to the SMF
149*75987085SAndy Fiddamanrepository.
150*75987085SAndy FiddamanAny syntax error found will be reported on
151*75987085SAndy Fiddaman.Dv stderr
152*75987085SAndy Fiddamanand an exit code of
153*75987085SAndy Fiddaman.Sy 1
154*75987085SAndy Fiddamanwill be returned.
155*75987085SAndy FiddamanSee
156*75987085SAndy Fiddaman.Xr smf 7
157*75987085SAndy Fiddamanfor a description of service profiles.
158*75987085SAndy FiddamanThis command requires privileges to modify properties in the service and
159*75987085SAndy Fiddamaninstance.
160*75987085SAndy FiddamanSee
161*75987085SAndy Fiddaman.Xr smf_security 7
162*75987085SAndy Fiddamanfor the privileges required to modify properties.
163*75987085SAndy FiddamanIf
164*75987085SAndy Fiddaman.Ar file
165*75987085SAndy Fiddamanis not a service profile, the subcommand fails.
166*75987085SAndy Fiddaman.It Ic extract Op > Ar file
167c10c16deSRichard LowePrints a service profile which represents the enabled status of the service
168*75987085SAndy Fiddamaninstances in the repository to standard output.
169*75987085SAndy FiddamanThe output may be redirected to a file.
170*75987085SAndy Fiddaman.El
171*75987085SAndy Fiddaman.Ss Service Manifest Subcommands
172*75987085SAndy Fiddaman.Bl -tag -width Ar
173*75987085SAndy Fiddaman.It Ic archive Op Fl a
174*75987085SAndy FiddamanDumps a full XML service description for all services, instances, and their
175*75987085SAndy Fiddamanpersistent properties in the repository.
176*75987085SAndy FiddamanThis does not include transient properties such as service state, and is
177*75987085SAndy Fiddamansuitable for a relocatable repository backup.
178*75987085SAndy Fiddaman.Pp
179*75987085SAndy FiddamanWithout the
180*75987085SAndy Fiddaman.Fl a
181*75987085SAndy Fiddamanoption, property groups containing protected information
182*75987085SAndy Fiddaman.Po
183*75987085SAndy Fiddamanidentified by the presence of the
184*75987085SAndy Fiddaman.Sy read_authorization
185*75987085SAndy Fiddamanproperty \(em see
186*75987085SAndy Fiddaman.Xr smf_security 7
187*75987085SAndy Fiddaman.Pc
188*75987085SAndy Fiddamanwill be archived without their property values.
189*75987085SAndy FiddamanWhen the
190*75987085SAndy Fiddaman.Fl a
191*75987085SAndy Fiddamanoption is specified, all values will be archived.
192*75987085SAndy FiddamanAn error results if there are insufficient privileges to read these values.
193*75987085SAndy Fiddaman.It Ic export Oo Fl a Oc Ar service_FMRI Op > Ar file
194c10c16deSRichard LoweThe service description for the specified service and its instances is written
195*75987085SAndy Fiddamanto standard output or redirected to the given file.
196*75987085SAndy FiddamanDependencies with a boolean
197*75987085SAndy Fiddaman.Dq external
198*75987085SAndy Fiddamanproperty set to true are omitted in the belief that they were created on behalf
199*75987085SAndy Fiddamanof another service.
200*75987085SAndy Fiddaman.Pp
201*75987085SAndy FiddamanWithout the
202*75987085SAndy Fiddaman.Fl a
203*75987085SAndy Fiddamanoption, property groups containing protected information
204*75987085SAndy Fiddaman.Po
205*75987085SAndy Fiddamanidentified by the presence of the
206*75987085SAndy Fiddaman.Sy read_authorization
207*75987085SAndy Fiddamanproperty \(em see
208*75987085SAndy Fiddaman.Xr smf_security 7
209*75987085SAndy Fiddaman.Pc
210*75987085SAndy Fiddamanwill be exported without their property values.
211*75987085SAndy FiddamanWhen the
212*75987085SAndy Fiddaman.Fl a
213*75987085SAndy Fiddamanoption is specified, all values will be archived.
214*75987085SAndy FiddamanAn error results if there are insufficient privileges to read these values.
215*75987085SAndy Fiddaman.Pp
216*75987085SAndy FiddamanNote that
217*75987085SAndy Fiddaman.Ic export
218*75987085SAndy Fiddamanrequires a service FMRI.
219*75987085SAndy FiddamanTo ease the use of arguments cut and pasted from other command output, if you
220*75987085SAndy Fiddamanspecify a complete instance FMRI, the entire corresponding service including
221*75987085SAndy Fiddamanall instances is exported and a warning is issued.
222*75987085SAndy FiddamanIf you specify an abbreviation, such as
223*75987085SAndy Fiddaman.Sq apache2
224*75987085SAndy Fiddamanor
225*75987085SAndy Fiddaman.Sq sendmail ,
226*75987085SAndy Fiddamanthat specifies an instance, the command fails.
227*75987085SAndy Fiddaman.It Ic import Oo Fl V Oc Ar file
228*75987085SAndy FiddamanIf
229*75987085SAndy Fiddaman.Ar file
230*75987085SAndy Fiddamanis a service manifest, then the services and instances it specifies are
231*75987085SAndy Fiddamanimported into the repository.
232*75987085SAndy FiddamanAccording to the file, dependencies may be created in other services.
233*75987085SAndy FiddamanSee
234*75987085SAndy Fiddaman.Xr smf 7
235*75987085SAndy Fiddamanfor a description of service manifests.
236*75987085SAndy FiddamanSee
237*75987085SAndy Fiddaman.Xr smf_security 7
238*75987085SAndy Fiddamanfor the privileges required to create and modify service configurations.
239*75987085SAndy Fiddaman.Pp
240c10c16deSRichard LoweServices and instances in the manifest will be validated against template data
241c10c16deSRichard Lowein the manifest and the repository, and warnings will be issued for all
242*75987085SAndy Fiddamantemplate violations.
243*75987085SAndy FiddamanSee
244*75987085SAndy Fiddaman.Xr smf_template 7
245*75987085SAndy Fiddamanfor a description of templates.
246*75987085SAndy FiddamanIf the
247*75987085SAndy Fiddaman.Fl V
248*75987085SAndy Fiddamanoption is specified, manifests that violate the defined templates will fail to
249*75987085SAndy Fiddamanimport.
250*75987085SAndy FiddamanIn interactive invocations of
251*75987085SAndy Fiddaman.Nm ,
252*75987085SAndy Fiddaman.Fl V
253*75987085SAndy Fiddamanis the default behavior.
254*75987085SAndy Fiddaman.Pp
255c10c16deSRichard LoweFor existing services and instances, properties which have not changed since
256*75987085SAndy Fiddamanthe last import snapshot was taken are upgraded to those specified by the
257*75987085SAndy Fiddamanmanifest.
258*75987085SAndy FiddamanConflicts
259*75987085SAndy Fiddaman.Pq properties which have been changed both in the repository and the manifest
260*75987085SAndy Fiddamanare reported on the standard error stream.
261*75987085SAndy Fiddaman.Nm
262*75987085SAndy Fiddamanwill never upgrade the
263*75987085SAndy Fiddaman.Dq general/enabled
264*75987085SAndy Fiddamanand
265*75987085SAndy Fiddaman.Dq general/restarter
266*75987085SAndy Fiddamanproperties,
267*75987085SAndy Fiddamansince they represent administrator preference.
268*75987085SAndy Fiddaman.It Ic inventory Ar file
269*75987085SAndy FiddamanIf
270*75987085SAndy Fiddaman.Ar file
271*75987085SAndy Fiddamanis determined to be a service manifest, then the FMRIs of the services and
272*75987085SAndy Fiddamaninstances the
273*75987085SAndy Fiddaman.Ar file
274*75987085SAndy Fiddamandescribes are printed.
275*75987085SAndy FiddamanFor each service, the FMRIs of its instances are displayed before the FMRI
276c10c16deSRichard Loweof the service.
277*75987085SAndy Fiddaman.It Ic restore
278c10c16deSRichard LoweRestores the contents of the repository from a full XML service description
279*75987085SAndy Fiddamanpreviously created by the
280*75987085SAndy Fiddaman.Ic archive
281*75987085SAndy Fiddamansubcommand.
282*75987085SAndy FiddamanIf the archive was generated without the use of the
283*75987085SAndy Fiddaman.Fl a
284*75987085SAndy Fiddamanoption, the contents of the repository following completion of the restore will
285*75987085SAndy Fiddamannot include the values of any read-protected properties
286*75987085SAndy Fiddaman.Pq see Xr smf_security 7 .
287*75987085SAndy FiddamanIf these are required, they must be restored manually.
288*75987085SAndy Fiddaman.Pp
289c10c16deSRichard LoweRestoring an archive which is inconsistent with currently installed software
290*75987085SAndy Fiddaman.Pq including patch revisions
291*75987085SAndy Fiddamanmight yield unpredictable results.
292*75987085SAndy FiddamanTherefore, prior to restoring an archive, all system and application software,
293*75987085SAndy Fiddamanincluding any service manifests, should be restored to the same state it was in
294*75987085SAndy Fiddamanat the time the archive was made.
295*75987085SAndy Fiddaman.It Ic validate Op Ar file | fmri
296*75987085SAndy FiddamanThe
297*75987085SAndy Fiddaman.Ic validate
298*75987085SAndy Fiddamansubcommand can operate on a manifest file, an instance FMRI, or the current
299*75987085SAndy Fiddamaninstance or snapshot entity selection.
300*75987085SAndy FiddamanWhen an argument is specified,
301*75987085SAndy Fiddaman.Nm
302*75987085SAndy Fiddamanwill check to see whether the specified file exists.
303*75987085SAndy FiddamanIf the file exists, it will be validated.
304*75987085SAndy FiddamanIf a file of the specified name does not exist, the argument is treated as an
305*75987085SAndy FiddamanFMRI pattern.
306*75987085SAndy FiddamanIf a conflict arises between a filename and an FMRI, use the svc: and file:
307*75987085SAndy Fiddamanprefixes to tell
308*75987085SAndy Fiddaman.Nm
309*75987085SAndy Fiddamanhow to interpret the argument.
310*75987085SAndy Fiddaman.Pp
311c10c16deSRichard LoweWhen you specify a file, the file is processed in a manner similar to
312*75987085SAndy Fiddaman.Ic import
313*75987085SAndy Fiddaman.Fl V ,
314*75987085SAndy Fiddamanbut no changes are made to the repository.
315*75987085SAndy FiddamanIf any errors are detected,
316*75987085SAndy Fiddaman.Nm
317*75987085SAndy Fiddamandisplays the errors and exits with a nonzero exit status.
318*75987085SAndy Fiddaman.Pp
319*75987085SAndy FiddamanFor an instance
320*75987085SAndy Fiddaman.Ar fmri ,
321*75987085SAndy Fiddamaninstance entity selection, or snapshot entity selection, the specified instance
322*75987085SAndy Fiddamanin its composed form
323*75987085SAndy Fiddaman.Po
324*75987085SAndy Fiddamansee
325*75987085SAndy Fiddaman.Dq Properties and Property Groups
326*75987085SAndy Fiddamanin
327*75987085SAndy Fiddaman.Xr smf 7
328*75987085SAndy Fiddaman.Pc
329*75987085SAndy Fiddamanwill be validated against template data in the repository.
330*75987085SAndy FiddamanInstance FMRIs and instance entity selections use the
331*75987085SAndy Fiddaman.Dq running
332*75987085SAndy Fiddamansnapshot for validation.
333*75987085SAndy FiddamanWarnings will be issued for all template violations.
334*75987085SAndy FiddamanSee
335*75987085SAndy Fiddaman.Xr smf_template 7
336*75987085SAndy Fiddamanfor a description of templates.
337*75987085SAndy Fiddaman.El
338*75987085SAndy Fiddaman.Ss Entity Selection, Modification, and Navigation Subcommands
339*75987085SAndy FiddamanAn
340*75987085SAndy Fiddaman.Dq entity
341*75987085SAndy Fiddamanrefers to a scope, service, or service instance.
342*75987085SAndy Fiddaman.Bl -tag -width Ar
343*75987085SAndy Fiddaman.It Ic add Ar name
344*75987085SAndy FiddamanA new entity with the given name is created as a child of the current selection.
345*75987085SAndy FiddamanSee
346*75987085SAndy Fiddaman.Xr smf_security 7
347*75987085SAndy Fiddamanfor the privileges required to create entities.
348*75987085SAndy Fiddaman.It Ic delete Oo Fl f Oc Brq Ar name | fmri
349*75987085SAndy FiddamanThe named child of the current selection or the entity specified by
350*75987085SAndy Fiddaman.Ar fmri
351*75987085SAndy Fiddamanis deleted.
352*75987085SAndy FiddamanAttempts to delete service instances in the
353*75987085SAndy Fiddaman.Dq online
354*75987085SAndy Fiddamanor
355*75987085SAndy Fiddaman.Dq degraded
356*75987085SAndy Fiddamanstate will fail unless the
357*75987085SAndy Fiddaman.Fl f
358*75987085SAndy Fiddamanflag is specified.
359*75987085SAndy FiddamanIf a service or service instance has a
360*75987085SAndy Fiddaman.Dq dependents
361*75987085SAndy Fiddamanproperty group of type
362*75987085SAndy FiddamanDq framework ,
363*75987085SAndy Fiddamanthen for each of its properties with type
364*75987085SAndy Fiddaman.Dq astring
365*75987085SAndy Fiddamanor
366*75987085SAndy Fiddaman.Dq fmri ,
367*75987085SAndy Fiddamanif the property has a single value which names a service or service instance
368*75987085SAndy Fiddamanthen the dependency property group in the indicated service or service instance
369*75987085SAndy Fiddamanwith the same name as the property will be deleted.
370*75987085SAndy FiddamanSee
371*75987085SAndy Fiddaman.Xr smf_security 7
372*75987085SAndy Fiddamanfor the privileges required to delete service configurations.
373*75987085SAndy Fiddaman.It Ic list Op Ar pattern
374c10c16deSRichard LoweThe child entities of the current selection whose names match the glob pattern
375*75987085SAndy Fiddaman.Ar pattern
376*75987085SAndy Fiddamanare displayed
377*75987085SAndy Fiddaman.Pq see Xr fnmatch 7 .
378*75987085SAndy Fiddaman.Dq :properties
379*75987085SAndy Fiddamanis also listed for property-bearing entities, namely services and service
380*75987085SAndy Fiddamaninstances.
381*75987085SAndy Fiddaman.It Ic select Brq Ar name | fmri
382c10c16deSRichard LoweIf the argument names a child of the current selection, it becomes the current
383*75987085SAndy Fiddamanselection.
384*75987085SAndy FiddamanOtherwise, the argument is interpreted as an FMRI and the entity that the
385*75987085SAndy Fiddamanargument specifies becomes the current selection.
386*75987085SAndy Fiddaman.It Ic unselect
387c10c16deSRichard LoweThe parent of the current selection becomes the current selection.
388*75987085SAndy Fiddaman.El
389*75987085SAndy Fiddaman.Ss Property Inspection and Modification Subcommands
390*75987085SAndy Fiddaman.Bl -tag -width Ar
391*75987085SAndy Fiddaman.It Ic addpg Ar name Ar type Op Ar flags
392*75987085SAndy FiddamanAdds a property group with the given
393*75987085SAndy Fiddaman.Ar name
394*75987085SAndy Fiddamanand type to the current selection.
395*75987085SAndy Fiddaman.Ar flags
396*75987085SAndy Fiddamanis a string of characters which designates the flags with which to create the
397*75987085SAndy Fiddamanproperty group.
398*75987085SAndy Fiddaman.Sq P
399*75987085SAndy Fiddamanrepresents
400*75987085SAndy Fiddaman.Dv SCF_PG_FLAG_NONPERSISTENT
401*75987085SAndy Fiddaman.Pq see Xr scf_service_add_pg 3SCF .
402*75987085SAndy FiddamanSee
403*75987085SAndy Fiddaman.Xr smf_security 7
404*75987085SAndy Fiddamanfor the privileges required to create property groups.
405*75987085SAndy Fiddaman.It Ic addpropvalue Ar pg/name Oo Ar type Ns No \&: Oc Ar value
406*75987085SAndy FiddamanAdds the given value to a property.
407*75987085SAndy FiddamanIf
408*75987085SAndy Fiddaman.Ar type
409*75987085SAndy Fiddamanis given and the property exists, then if
410*75987085SAndy Fiddaman.Ar type
411*75987085SAndy Fiddamandoes not agree with the property's
412*75987085SAndy Fiddaman.Ar type ,
413*75987085SAndy Fiddamanthe subcommand fails.
414*75987085SAndy FiddamanThe values may be enclosed in double-quotes.
415*75987085SAndy FiddamanString values containing double-quotes or backslashes must be enclosed by
416*75987085SAndy Fiddamandouble-quotes and the contained double-quotes and backslashes must be quoted by
417*75987085SAndy Fiddamanbackslashes.
418*75987085SAndy FiddamanNonexistent properties are created, in which case the
419*75987085SAndy Fiddaman.Ar type
420*75987085SAndy Fiddamanspecifier must be present.
421*75987085SAndy FiddamanSee
422*75987085SAndy Fiddaman.Xr scf_value_create 3SCF
423*75987085SAndy Fiddamanfor a list of available property types.
424*75987085SAndy FiddamanSee
425*75987085SAndy Fiddaman.Xr smf_security 7
426*75987085SAndy Fiddamanfor the privileges required to modify properties.
427*75987085SAndy FiddamanThe new value will be appended to the end of the list of property values
428*75987085SAndy Fiddamanassociated with the property.
429*75987085SAndy Fiddaman.It Ic delpg Ar name
430*75987085SAndy FiddamanDeletes the property group
431*75987085SAndy Fiddaman.Ar name
432*75987085SAndy Fiddamanof the current selection.
433*75987085SAndy FiddamanSee
434*75987085SAndy Fiddaman.Xr smf_security 7
435*75987085SAndy Fiddamanfor the privileges required to delete property groups.
436*75987085SAndy Fiddaman.It Ic delprop Ar pg Ns Op / Ns Ar name
437*75987085SAndy FiddamanDeletes the named property group or property of the current selection.
438*75987085SAndy FiddamanSee
439*75987085SAndy Fiddaman.Xr smf_security 7
440*75987085SAndy Fiddamanfor the privileges required to delete properties.
441*75987085SAndy Fiddaman.It Ic delpropvalue Ar pg/name Ar globpattern
442*75987085SAndy FiddamanDeletes all values matching the given
443*75987085SAndy Fiddaman.Ar glob
444*75987085SAndy Fiddamanpattern in the named property.
445*75987085SAndy FiddamanSucceeds even if no values match.
446*75987085SAndy FiddamanSee
447*75987085SAndy Fiddaman.Xr smf_security 7
448*75987085SAndy Fiddamanfor the privileges required to modify properties.
449*75987085SAndy Fiddaman.It Xo
450*75987085SAndy Fiddaman.Ic describe
451*75987085SAndy Fiddaman.Op Fl v
452*75987085SAndy Fiddaman.Op Fl t
453*75987085SAndy Fiddaman.Op Ar propertygroup Ns No / Ns Ar property
454*75987085SAndy Fiddaman.Xc
455c10c16deSRichard LoweDescribes either the current or the possible settings.
456*75987085SAndy Fiddaman.Pp
457*75987085SAndy FiddamanWhen invoked without arguments,
458*75987085SAndy Fiddaman.Ic describe
459*75987085SAndy Fiddamangives basic descriptions
460*75987085SAndy Fiddaman.Pq if available
461*75987085SAndy Fiddamanof the currently selected entity and all of its currently set property groups
462*75987085SAndy Fiddamanand properties.
463*75987085SAndy FiddamanA property group or specific property can be queried by specifying either the
464*75987085SAndy Fiddamanproperty group name, or the property group name and property name, separated by
465*75987085SAndy Fiddamana slash
466*75987085SAndy Fiddaman.Pq Sq / ,
467*75987085SAndy Fiddamanas an argument.
468*75987085SAndy Fiddaman.Pp
469*75987085SAndy FiddamanThe
470*75987085SAndy Fiddaman.Fl v
471*75987085SAndy Fiddamanoption gives all information available, including descriptions for current
472*75987085SAndy Fiddamansettings, constraints, and other possible setting choices.
473*75987085SAndy Fiddaman.Pp
474*75987085SAndy FiddamanThe
475*75987085SAndy Fiddaman.Fl t
476*75987085SAndy Fiddamanoption shows only the template data for the selection
477*75987085SAndy Fiddaman.Pq see Xr smf_template 7 ,
478*75987085SAndy Fiddamanand does not display the current settings for property groups and properties.
479*75987085SAndy Fiddaman.It Ic editprop
480*75987085SAndy FiddamanCommented commands to reproduce the property groups and properties of the
481c10c16deSRichard Lowecurrent selection are placed in a temporary file and the program named by the
482*75987085SAndy Fiddaman.Ev EDITOR
483*75987085SAndy Fiddamanenvironment variable is invoked to edit it.
484*75987085SAndy FiddamanUpon completion, the commands in the temporary file are executed.
485*75987085SAndy FiddamanThe default editor is
486*75987085SAndy Fiddaman.Xr vi 1 .
487*75987085SAndy FiddamanSee
488*75987085SAndy Fiddaman.Xr smf_security 7
489*75987085SAndy Fiddamanfor the privileges required to create, modify, or delete properties.
490*75987085SAndy Fiddaman.It Ic listpg Op Ar pattern
491c10c16deSRichard LoweDisplays the names, types, and flags of property groups of the current
492*75987085SAndy Fiddamanselection.
493*75987085SAndy FiddamanIf an argument is given, it is taken as a glob pattern and only property groups
494*75987085SAndy Fiddamanwith names which match the argument are listed.
495*75987085SAndy Fiddaman.Pp
496c10c16deSRichard LoweIn interactive mode, a basic description of the property groups is also given.
497*75987085SAndy Fiddaman.It Ic listprop Op Ar pattern
498*75987085SAndy FiddamanLists property groups and properties of the current selection.
499*75987085SAndy FiddamanFor property groups, names, types, and flags are listed.
500*75987085SAndy FiddamanFor properties, names
501*75987085SAndy Fiddaman.Pq prepended by the property group name and a slash Sq / ,
502*75987085SAndy Fiddamantypes, and values are listed.
503*75987085SAndy FiddamanSee
504*75987085SAndy Fiddaman.Xr scf_value_create 3SCF
505*75987085SAndy Fiddamanfor a list of available property types.
506*75987085SAndy FiddamanIf an argument is supplied it is taken as a glob pattern and only property
507*75987085SAndy Fiddamangroups and properties with names which match the argument are listed.
508*75987085SAndy Fiddaman.It Xo
509*75987085SAndy Fiddaman.Ic setenv
510*75987085SAndy Fiddaman.Op Fl i | s
511*75987085SAndy Fiddaman.Op Fl m Ar method_name
512*75987085SAndy Fiddaman.Ar envvar value
513*75987085SAndy Fiddaman.Xc
514c10c16deSRichard LoweSets a method environment variable for a service or instance by changing the
515*75987085SAndy Fiddaman"environment" property in the
516*75987085SAndy Fiddaman.Ar method_name
517*75987085SAndy Fiddamanproperty group, if that property group has type
518*75987085SAndy Fiddaman.Dq method .
519*75987085SAndy FiddamanIf
520*75987085SAndy Fiddaman.Ar method_name
521*75987085SAndy Fiddamanis not specified and the
522*75987085SAndy Fiddaman.Fl i
523*75987085SAndy Fiddamanoption is used, the
524*75987085SAndy Fiddaman.Dq method_context
525*75987085SAndy Fiddamanproperty group is used, if an instance is currently selected.
526*75987085SAndy FiddamanIf the
527*75987085SAndy Fiddaman.Fl s
528*75987085SAndy Fiddamanoption is used and a service is currently selected, its
529*75987085SAndy Fiddaman.Dq method_context
530*75987085SAndy Fiddamanproperty group is used.
531*75987085SAndy FiddamanIf the
532*75987085SAndy Fiddaman.Fl s
533*75987085SAndy Fiddamanoption is used and an instance is currently selected, the
534*75987085SAndy Fiddaman.Dq method_context
535*75987085SAndy Fiddamanproperty group of its parent is used.
536*75987085SAndy FiddamanIf neither the
537*75987085SAndy Fiddaman.Fl i
538*75987085SAndy Fiddamanoption nor the
539*75987085SAndy Fiddaman.Fl s
540*75987085SAndy Fiddamanoption is used, the
541*75987085SAndy Fiddaman.Dq start
542*75987085SAndy Fiddamanproperty group is searched for in the currently selected entity and, if an
543*75987085SAndy Fiddamaninstance is currently selected, its parent is also searched.
544*75987085SAndy FiddamanIf the
545*75987085SAndy Fiddaman.Dq inetd_start
546*75987085SAndy Fiddamanproperty group is not located, it is searched for in a similar manner.
547*75987085SAndy Fiddaman.Pp
548*75987085SAndy FiddamanOnce the property is located, all values which begin with
549*75987085SAndy Fiddaman.Ar envvar
550*75987085SAndy Fiddamanfollowed by a
551*75987085SAndy Fiddaman.Dq \&=
552*75987085SAndy Fiddamanare removed, and the value
553*75987085SAndy Fiddaman.Dq Ar envvar Ns No = Ns Ar value
554*75987085SAndy Fiddamanis added.
555*75987085SAndy FiddamanSee
556*75987085SAndy Fiddaman.Xr smf_security 7
557*75987085SAndy Fiddamanfor the privileges required to modify properties.
558*75987085SAndy Fiddaman.It Xo
559*75987085SAndy Fiddaman.Ic setprop
560*75987085SAndy Fiddaman.Ar pg/name No =
561*75987085SAndy Fiddaman.Op Ar type Ns No \&:
562*75987085SAndy Fiddaman.Ar value
563*75987085SAndy Fiddaman.Xc
564*75987085SAndy Fiddaman.It Xo
565*75987085SAndy Fiddaman.Ic setprop
566*75987085SAndy Fiddaman.Ar pg/name No =
567*75987085SAndy Fiddaman.Op Ar type Ns No \&:
568*75987085SAndy Fiddaman.No \&( Ns Ar values \&... No \&)
569*75987085SAndy Fiddaman.Xc
570*75987085SAndy FiddamanSets the
571*75987085SAndy Fiddaman.Ar name
572*75987085SAndy Fiddamanproperty of the
573*75987085SAndy Fiddaman.Ar pg
574*75987085SAndy Fiddamanproperty group of the current selection to the given values of type
575*75987085SAndy Fiddaman.Ar type .
576*75987085SAndy FiddamanSee
577*75987085SAndy Fiddaman.Xr scf_value_create 3SCF
578*75987085SAndy Fiddamanfor a list of available property types.
579*75987085SAndy FiddamanIf the property already exists and the
580*75987085SAndy Fiddaman.Ar type
581*75987085SAndy Fiddamandisagrees with the existing
582*75987085SAndy Fiddaman.Ar type
583*75987085SAndy Fiddamanon the property, the subcommand fails.
584*75987085SAndy FiddamanValues may be enclosed in double-quotes.
585*75987085SAndy FiddamanString values which contain double-quotes or backslashes must be enclosed by
586*75987085SAndy Fiddamandouble-quotes and the contained double-quotes and backslashes must be quoted by
587*75987085SAndy Fiddamanbackslashes.
588*75987085SAndy FiddamanIf the named property does not exist, it is created, as long as the type is
589*75987085SAndy Fiddamanspecified.
590*75987085SAndy FiddamanSee
591*75987085SAndy Fiddaman.Xr smf_security 7
592*75987085SAndy Fiddamanfor the privileges required to create or modify properties.
593*75987085SAndy FiddamanMultiple values will be stored in the order in which they are specified.
594*75987085SAndy Fiddaman.It Xo
595*75987085SAndy Fiddaman.Ic unsetenv
596*75987085SAndy Fiddaman.Op Fl i | s
597*75987085SAndy Fiddaman.Op Fl m Ar method_name
598*75987085SAndy Fiddaman.Ar envvar value
599*75987085SAndy Fiddaman.Xc
600c10c16deSRichard LoweRemoves a method environment variable for a service or instance by changing the
601*75987085SAndy Fiddaman.Dq environment
602*75987085SAndy Fiddamanproperty in the
603*75987085SAndy Fiddaman.Ar method_name
604*75987085SAndy Fiddamanproperty group, if that property group has type
605*75987085SAndy Fiddaman.Dq method .
606*75987085SAndy FiddamanIf
607*75987085SAndy Fiddaman.Ar method_name
608*75987085SAndy Fiddamanis not specified and the
609*75987085SAndy Fiddaman.Fl i
610*75987085SAndy Fiddamanoption is used, the
611*75987085SAndy Fiddaman.Dq method_context
612*75987085SAndy Fiddamanproperty group is used, if an instance is currently selected.
613*75987085SAndy FiddamanIf the
614*75987085SAndy Fiddaman.Fl s
615*75987085SAndy Fiddamanoption is used and a service is currently selected, its
616*75987085SAndy Fiddaman.Dq method_context
617*75987085SAndy Fiddamanproperty group is used.
618*75987085SAndy FiddamanIf the
619*75987085SAndy Fiddaman.Fl s
620*75987085SAndy Fiddamanoption is used and an instance is currently selected, the
621*75987085SAndy Fiddaman.Dq method_context
622*75987085SAndy Fiddamanproperty group of its parent is used.
623*75987085SAndy FiddamanIf neither the
624*75987085SAndy Fiddaman.Fl i
625*75987085SAndy Fiddamanoption nor the
626*75987085SAndy Fiddaman.Fl s
627*75987085SAndy Fiddamanoption is used, the
628*75987085SAndy Fiddaman.Dq start
629*75987085SAndy Fiddamanproperty group is searched for in the currently selected entity and, if an
630*75987085SAndy Fiddamaninstance is currently selected, its parent is also searched.
631*75987085SAndy FiddamanIf the
632*75987085SAndy Fiddaman.Dq inetd_start
633*75987085SAndy Fiddamanproperty group is not located, it is searched for in a similar manner.
634*75987085SAndy Fiddaman.Pp
635*75987085SAndy FiddamanOnce the property is located, all values which begin with
636*75987085SAndy Fiddaman.Ar envvar
637*75987085SAndy Fiddamanfollowed by
638*75987085SAndy Fiddaman.Dq =
639*75987085SAndy Fiddamanare removed.
640*75987085SAndy FiddamanSee
641*75987085SAndy Fiddaman.Xr smf_security 7
642*75987085SAndy Fiddamanfor the privileges required to modify properties.
643*75987085SAndy Fiddaman.El
644*75987085SAndy Fiddaman.Ss Snapshot Navigation and Selection Subcommands
645*75987085SAndy Fiddaman.Bl -tag -width Ar
646*75987085SAndy Fiddaman.It Ic listsnap
647c10c16deSRichard LoweDisplays snapshots available for the currently selected instance.
648*75987085SAndy Fiddaman.It Ic revert Op Ar snapshot
649c10c16deSRichard LoweReverts the properties of the currently selected instance and its service to
650*75987085SAndy Fiddamanthose recorded in the named snapshot.
651*75987085SAndy FiddamanIf no argument is given, use the currently selected snapshot and deselect it on
652*75987085SAndy Fiddamansuccess.
653*75987085SAndy FiddamanThe changed property values can be made active via the
654*75987085SAndy Fiddaman.Ic refresh
655*75987085SAndy Fiddamansubcommand of
656*75987085SAndy Fiddaman.Xr svcadm 8 .
657*75987085SAndy FiddamanSee
658*75987085SAndy Fiddaman.Xr smf_security 7
659*75987085SAndy Fiddamanfor the privileges required to change properties.
660*75987085SAndy Fiddaman.It Ic selectsnap Op Ar name
661*75987085SAndy FiddamanChanges the current snapshot to the one named by
662*75987085SAndy Fiddaman.Ar name .
663*75987085SAndy FiddamanIf no
664*75987085SAndy Fiddaman.Ar name
665*75987085SAndy Fiddamanis specified, deselect the currently selected snapshot.
666*75987085SAndy FiddamanSnapshots are read-only.
667*75987085SAndy Fiddaman.El
668*75987085SAndy Fiddaman.Ss Instance Subcommands
669*75987085SAndy Fiddaman.Bl -tag -width Ar
670*75987085SAndy Fiddaman.It Ic refresh
671c10c16deSRichard LoweCommit the values from the current configuration to the running snapshot,
672*75987085SAndy Fiddamanmaking them available for use by the currently selected instance.
673*75987085SAndy FiddamanIf the repository subcommand has not been used to select a repository, direct
674*75987085SAndy Fiddamanthe instance's restarter to reread the updated configuration.
675*75987085SAndy Fiddaman.El
676*75987085SAndy Fiddaman.Sh ENVIRONMENT
677*75987085SAndy Fiddaman.Bl -tag -width Ds
678*75987085SAndy Fiddaman.It Ev EDITOR
679*75987085SAndy FiddamanThe command to run when the
680*75987085SAndy Fiddaman.Ic editprop
681*75987085SAndy Fiddamansubcommand is used.
682*75987085SAndy FiddamanThe default editor is
683*75987085SAndy Fiddaman.Xr vi 1 .
684*75987085SAndy Fiddaman.El
685*75987085SAndy Fiddaman.Sh EXIT STATUS
686*75987085SAndy FiddamanThe following exit values are returned:
687*75987085SAndy Fiddaman.Bl -tag -width Ds
688*75987085SAndy Fiddaman.It Sy 0
689*75987085SAndy FiddamanSuccessful execution.
690*75987085SAndy Fiddaman.It Sy 1
691*75987085SAndy FiddamanOne or more subcommands resulted in failure.
692*75987085SAndy FiddamanError messages are written to the standard error stream.
693*75987085SAndy Fiddaman.It Sy 2
694*75987085SAndy FiddamanInvalid command line options were specified.
695*75987085SAndy Fiddaman.El
696*75987085SAndy Fiddaman.Sh EXAMPLES
697*75987085SAndy Fiddaman.Sy Example 1 No Importing a Service Description
698*75987085SAndy Fiddaman.Pp
699*75987085SAndy FiddamanThe following example imports a service description for the
700*75987085SAndy Fiddaman.Sy seismic
701c10c16deSRichard Loweservice in the XML manifest specified on the command line.
702*75987085SAndy Fiddaman.Pp
703*75987085SAndy Fiddaman.Dl # svccfg import /var/svc/manifest/site/seismic.xml
704*75987085SAndy Fiddaman.Pp
705c10c16deSRichard LoweNote that the manifest must follow the format specified in
706*75987085SAndy Fiddaman.Xr service_bundle 5 .
707*75987085SAndy Fiddaman.Pp
708*75987085SAndy Fiddaman.Sy Example 2 No Exporting a Service Description
709*75987085SAndy Fiddaman.Pp
710c10c16deSRichard LoweTo export a service description on the local system:
711*75987085SAndy Fiddaman.Pp
712*75987085SAndy Fiddaman.Dl # svccfg export dumpadm >/tmp/dump.xml
713*75987085SAndy Fiddaman.Pp
714*75987085SAndy Fiddaman.Sy Example 3 No Deleting a Service Instance
715*75987085SAndy Fiddaman.Pp
716c10c16deSRichard LoweTo delete a service instance:
717*75987085SAndy Fiddaman.Pp
718*75987085SAndy Fiddaman.Dl # svccfg delete network/inetd-upgrade:default
719*75987085SAndy Fiddaman.Pp
720*75987085SAndy Fiddaman.Sy Example 4 - Checking Properties in an Alternate Repository
721*75987085SAndy Fiddaman.Pp
722c10c16deSRichard LoweTo examine the state of a service's properties after loading an alternate
723*75987085SAndy Fiddamanrepository, use the sequence of commands shown below.
724*75987085SAndy FiddamanOne might use such commands, for example, to determine whether a service was
725*75987085SAndy Fiddamanenabled in a particular repository backup.
726*75987085SAndy Fiddaman.Bd -literal -offset indent
727*75987085SAndy Fiddaman# svccfg
728*75987085SAndy Fiddamansvc:> repository /etc/svc/repository-boot
729*75987085SAndy Fiddamansvc:> select telnet:default
730*75987085SAndy Fiddamansvc:/network/telnet:default> listprop general/enabled
731*75987085SAndy Fiddamangeneral/enabled  boolean false
732*75987085SAndy Fiddamansvc:/network/telnet:default> exit
733*75987085SAndy Fiddaman.Ed
734*75987085SAndy Fiddaman.Pp
735*75987085SAndy Fiddaman.Sy Example 5 No Enabling Debugging
736*75987085SAndy Fiddaman.Pp
737*75987085SAndy FiddamanTo modify
738*75987085SAndy Fiddaman.Ev LD_PRELOAD
739*75987085SAndy Fiddamanfor a start method and enable the use of
740*75987085SAndy Fiddaman.Xr libumem 3LIB
741*75987085SAndy Fiddamanwith debugging features active:
742*75987085SAndy Fiddaman.Bd -literal -offset indent
743*75987085SAndy Fiddaman$ svccfg -s system/service setenv LD_PRELOAD libumem.so
744*75987085SAndy Fiddaman$ svccfg -s system/service setenv UMEM_DEBUG default
745*75987085SAndy Fiddaman.Ed
746*75987085SAndy Fiddaman.Pp
747*75987085SAndy Fiddaman.Sy Example 6 No Using the Ic describe No Subcommand
748*75987085SAndy Fiddaman.Pp
749*75987085SAndy FiddamanThe following command illustrates the use of the
750*75987085SAndy Fiddaman.Ic describe
751*75987085SAndy Fiddamansubcommand.
752*75987085SAndy Fiddaman.Bd -literal -offset indent
753*75987085SAndy Fiddaman# svccfg -s console-login describe ttymon
754*75987085SAndy Fiddamanttymon                  application
755*75987085SAndy Fiddamanttymon/device           astring  /dev/console
756*75987085SAndy Fiddaman   terminal device to be used for the console login prompt
757*75987085SAndy Fiddamanttymon/label            astring
758*75987085SAndy Fiddaman   console appropriate entry from /etc/ttydefs
759*75987085SAndy Fiddaman\&...
760*75987085SAndy Fiddaman.Ed
761*75987085SAndy Fiddaman.Sh INTERFACE STABILITY
762*75987085SAndy FiddamanThe interactive output of
763*75987085SAndy Fiddaman.Nm
764*75987085SAndy Fiddamanis
765*75987085SAndy Fiddaman.Sy Not-An-Interface
766*75987085SAndy Fiddamanand may change at any time.
767*75987085SAndy Fiddaman.Pp
768*75987085SAndy FiddamanThe command line interface and non-interactive output of
769*75987085SAndy Fiddaman.Nm
770*75987085SAndy Fiddamanis
771*75987085SAndy Fiddaman.Sy Committed .
772*75987085SAndy Fiddaman.Sh SEE ALSO
773*75987085SAndy Fiddaman.Xr svcprop 1 ,
774*75987085SAndy Fiddaman.Xr svcs 1 ,
775*75987085SAndy Fiddaman.Xr libscf 3LIB ,
776*75987085SAndy Fiddaman.Xr libumem 3LIB ,
777*75987085SAndy Fiddaman.Xr scf_service_add_pg 3SCF ,
778*75987085SAndy Fiddaman.Xr scf_value_create 3SCF ,
779*75987085SAndy Fiddaman.Xr contract 5 ,
780*75987085SAndy Fiddaman.Xr service_bundle 5 ,
781*75987085SAndy Fiddaman.Xr attributes 7 ,
782*75987085SAndy Fiddaman.Xr fnmatch 7 ,
783*75987085SAndy Fiddaman.Xr smf 7 ,
784*75987085SAndy Fiddaman.Xr smf_method 7 ,
785*75987085SAndy Fiddaman.Xr smf_security 7 ,
786*75987085SAndy Fiddaman.Xr smf_template 7 ,
787*75987085SAndy Fiddaman.Xr zones 7 ,
788*75987085SAndy Fiddaman.Xr svc.configd 8 ,
789*75987085SAndy Fiddaman.Xr svcadm 8
790