On Thu, Mar 22, 2007 at 02:24:15PM -0700, Michael Shapiro wrote:

> 2.4.1. export changes, introduction of export -a
> 
>    'svccfg export' is modified to export the values of properties in
>    SPGs as if they had no values, regardless of whether the user performing
>    the operation has the required authorization.  This prevents accidental
>    exposure of sensitive data in XML documents used for interchange
>    purposes.
> 
>    To provide the ability to export documents containing the values of
>    sensitive properties, we introduce the '-a' option to the export
>    subcommand.  With this option, 'export' will export all properties in
>    SPGs if the user has sufficient authorization to read them.  Otherwise,
>    upon encountering a property which cannot be read due to access
>    controls, the command terminates and displays an appropriate error
>    message.

It's been brought to my attention that the man page diffs for
svccfg(1M) that describe this functionality are incorrect in the case
materials.  The only error is that the functionality described here
under export -a was incorrectly defined under a new exportall command.
The above description is the correct one and is unchanged, as is the
behaviour itself.  I've attached the corrected svccfg.1m and diffs.
The rest of the materials are correct.  The diffs should read as
follows:

--- svccfg.1m.orig      Thu Mar 15 11:28:46 2007
+++ svccfg.1m   Tue Mar 27 17:53:09 2007
@@ -183,6 +183,15 @@
                                   properties   such   as  service
                                   state, and is  suitable  for  a
                                   relocatable repository backup.
+                                  If one or more property groups
+                                  contains sensitive information
+                                  (identified by the presence of
+                                  the read_authorization property
+                                  - see smf_security(5)), and
+                                  insufficient privileges exist
+                                  to read the values of the
+                                  persistent properties in those
+                                  groups, an error results.
 
 
 
@@ -211,7 +220,8 @@
 
 
 
-     export service_FMRI [>file]  The service description for the      |
+     export [-a] service_FMRI [>file]                                  |
+                                 The service description for the
                                   specified   service   and   its
                                   instances is written  to  stan-
                                   dard  output  or  redirected to
@@ -220,7 +230,17 @@
                                   perty set to true  are  omitted
                                   in  the  belief  that they were
                                   created on  behalf  of  another
-                                  service.                             |
+                                  service.  Without the -a option,     |
+                                  property groups containing           |
+                                  sensitive information                |
+                                  (identified by the presence of       |
+                                  the read_authorization property      |
+                                  - see smf_security(5)) will be       |
+                                  exported without their property      |
+                                  values.  When the -a option is       |
+                                  given, an error results if           |
+                                  there are insufficient               |
+                                  privileges to read these values.     |


Apologies for the error.

-- 
Keith M Wesolowski              "Sir, we're surrounded!" 
FishWorks                       "Excellent; we can attack in any direction!" 
-------------- next part --------------



System Administration Commands                         svccfg(1M)



NAME
     svccfg - import, export, and modify service configurations

SYNOPSIS
     /usr/sbin/svccfg [-v] [-s FMRI]

     /usr/sbin/svccfg [-v] [-s FMRI] subcommand [args]...

     /usr/sbin/svccfg [-v] [-s FMRI] -f command-file


DESCRIPTION
     The svccfg command manipulates data in  the  service  confi-
     guration  repository.  svccfg  can be invoked interactively,
     with an individual subcommand, or by  specifying  a  command
     file that contains a series of subcommands.



     Changes made to an existing service in the repository  typi-
     cally  do  not  take  effect for that service until the next
     time the service instance is refreshed. See the refresh sub-
     command on the svcadm(1M) man page for more details.



OPTIONS
     The following options are supported:



     -f command-file  Reads and executes svccfg subcommands  from
                      command-file.




     -s FMRI          Selects the entity  indicated  by  FMRI  (a
                      fault   management   resource   identifier)
                      before executing any subcommands.




     -v               Verbose.




SUBCOMMANDS
     The following subcommands are supported:




SunOS 5.11           Last change: 8 Apr 2005                    1






System Administration Commands                         svccfg(1M)



     end                 Exits immediately.
     exit
     quit


     set [-v|-V]         Sets optional behavior.  If  no  options
                         are  specified, set displays the options
                         currently in effect.



                         -v  Turns on verbose mode.




                         -V  Turns off verbose mode.





     repository repfile  Uses repfile as a private repository. By
                         default,   svccfg(1M)  uses  the  system
                         repository.




     Service profile subcommands



     apply file        If file is a service profile, then service
                       instances  specified  within  the file are
                       enabled or disabled according to  it.  See
                       smf(5)  for  a description of service pro-
                       files. This command requires privileges to
                       modify  the  "general/enabled" property of
                       the service instances. See smf_security(5)
                       for the privileges required to modify pro-
                       perties. If file is not a service profile,
                       the subcommand fails.




     extract [> file]  Prints a service profile which  represents
                       the   enabled   status   of   the  service
                       instances in the  repository  to  standard
                       output.  The output may be redirected to a
                       file.



SunOS 5.11           Last change: 8 Apr 2005                    2






System Administration Commands                         svccfg(1M)



     Service manifest subcommands



     import file                  If file is a service  manifest,
                                  then the services and instances
                                  it specifies are imported  into
                                  the  repository.  According  to
                                  the file, dependencies  may  be
                                  created  in other services. See
                                  smf(5)  for  a  description  of
                                  service      manifests.     See
                                  smf_security(5)     for     the
                                  privileges  required  to create
                                  and modify  service  configura-
                                  tions.



                                  For   existing   services   and
                                  instances,   properties   which
                                  have not changed since the last
                                  import  snapshot  was taken are
                                  upgraded to those specified  by
                                  the  manifest.  Conflicts (pro-
                                  perties which have been changed
                                  both  in the repository and the
                                  manifest) are reported  on  the
                                  standard  error  stream. svccfg
                                  will    never    upgrade    the
                                  "general/enabled"           and
                                  "general/restarter" properties,
                                  since  they  represent adminis-
                                  trator preference.




     archive                      Dumps  a   full   XML   service
                                  description  for  all services,
                                  instances, and their persistent
                                  properties  in  the repository.
                                  This does not include transient
                                  properties   such   as  service
                                  state, and is  suitable  for  a
                                  relocatable repository backup.
                                  If one or more property groups
                                  contains sensitive information
                                  (identified by the presence of
                                  the read_authorization property
                                  - see smf_security(5)), and
                                  insufficient privileges exist
                                  to read the values of the
                                  persistent properties in those
                                  groups, an error results.




     validate file                file is processed similarly  to
                                  import, but no changes are made



SunOS 5.11           Last change: 8 Apr 2005                    3






System Administration Commands                         svccfg(1M)



                                  to  the  repository.   If   any
                                  errors are detected, svccfg(1M)
                                  exits  with  a   nonzero   exit
                                  status.




     export [-a] service_FMRI [>file]
                                  The service description for the
                                  specified   service   and   its
                                  instances is written  to  stan-
                                  dard  output  or  redirected to
                                  the  given  file.  Dependencies
                                  with  a boolean "external" pro-
                                  perty set to true  are  omitted
                                  in  the  belief  that they were
                                  created on  behalf  of  another
                                  service.  Without the -a option,
                                  property groups containing
                                  sensitive information
                                  (identified by the presence of
                                  the read_authorization property
                                  - see smf_security(5)) will be
                                  exported without their property
                                  values.  When the -a option is
                                  given, an error results if
                                  there are insufficient
                                  privileges to read these values.




     inventory file               If file is determined to  be  a
                                  service   manifest,   then  the
                                  FMRIs  of  the   services   and
                                  instances  the  file  describes
                                  are printed. For each  service,
                                  the  FMRIs of its instances are
                                  displayed before  the  FMRI  of
                                  the service.




     Entity selection, modification, and navigation subcommands



     An "entity" refers to a scope, service, or service instance.



     select {name | fmri}       If the argument names a child  of
                                the current selection, it becomes
                                the current selection. Otherwise,
                                the argument is interpreted as an
                                FMRI  and  the  entity  that  the
                                argument  specifies  becomes  the
                                current selection.






SunOS 5.11           Last change: 8 Apr 2005                    4






System Administration Commands                         svccfg(1M)



     unselect                   The parent of the current  selec-
                                tion  becomes  the current selec-
                                tion.




     list [pattern]             The child entities of the current
                                selection  whose  names match the
                                glob    pattern    pattern    are
                                displayed    (see    fnmatch(5)).
                                ':properties' is also listed  for
                                property-bearing entities, namely
                                services and service instances.




     add name                   A new entity with the given  name
                                is  created  as  a  child  of the
                                current      selection.       See
                                smf_security(5)      for      the
                                privileges  required  to   create
                                entities.




     delete [-f] {name | fmri}  The named child  of  the  current
                                selection or the entity specified
                                by fmri is deleted.  Attempts  to
                                delete  service  instances in the
                                "online" or "degraded" state will
                                fail unless the -f flag is speci-
                                fied. If  a  service  or  service
                                instance  has a "dependents" pro-
                                perty group of type  "framework",
                                then  for  each of its properties
                                with type "astring" or "fmri", if
                                the  property  has a single value
                                which names a service or  service
                                instance then the dependency pro-
                                perty group in the indicated ser-
                                vice or service instance with the
                                same name as the property will be
                                deleted.  See smf_security(5) for
                                the privileges required to delete
                                service configurations.







SunOS 5.11           Last change: 8 Apr 2005                    5






System Administration Commands                         svccfg(1M)



     Property inspection and modification subcommands



     listpg [pattern]


         Displays the names, types, and flags of property  groups
         of the current selection. If an argument is given, it is
         taken as a glob pattern and only  property  groups  with
         names which match the argument are listed.




     addpg name type [flags]


         Adds a property group with the given name  and  type  to
         the  current  selection. flags is a string of characters
         which designates the flags with which to create the pro-
         perty  group.  'P'  represents SCF_PG_FLAG_NONPERSISTENT
         (see scf_service_add_pg(3SCF)).  See smf_security(5) for
         the privileges required to create property groups.




     delpg name


         Deletes the property group name of  the  current  selec-
         tion. See smf_security(5) for the privileges required to
         delete property groups.




     listprop [pattern]


         Lists property groups  and  properties  of  the  current
         selection.  For property groups, names, types, and flags
         are listed. For properties, names (prepended by the pro-
         perty group name and a slash (/)), types, and values are
         listed. See scf_value_create(3SCF) for a list of  avail-
         able  property  types.  If an argument is supplied it is
         taken as a glob pattern and  only  property  groups  and
         properties  with  names  which  match  the  argument are
         listed.





SunOS 5.11           Last change: 8 Apr 2005                    6






System Administration Commands                         svccfg(1M)



     setprop pg/name = [type:] value
     setprop pg/name = [type:] ([values ...])


         Sets the name property of the pg property group  of  the
         current  selection to the given values of type type. See
         scf_value_create(3SCF) for a list of available  property
         types.  If  the  property  already  exists  and the type
         disagrees with the existing type on  the  property,  the
         subcommand  fails.  Values  may  be  enclosed in double-
         quotes. String values  which  contain  double-quotes  or
         backslashes  must  be  enclosed by double-quotes and the
         contained double-quotes and backslashes must  be  quoted
         by backslashes. If the named property does not exist, it
         is created, as  long  as  the  type  is  specified.  See
         smf_security(5) for the privileges required to create or
         modify properties.




     delprop pg[/name]


         Deletes the named property  group  or  property  of  the
         current   selection.   See   smf_security(5)   for   the
         privileges required to delete properties.




     editprop


         Comments of commands to reproduce  the  property  groups
         and  properties of the current selection are placed in a
         temporary file and  the  program  named  by  the  EDITOR
         environment variable is invoked to edit it. Upon comple-
         tion, the commands in the temporary file  are  executed.
         The default editor is vi(1). See smf_security(5) for the
         privileges required to create, modify, or delete proper-
         ties.




     addpropvalue pg/name [type:] value


         Adds the given value to a property. If type is given and
         the  property  exists,  then if type does not agree with
         the property's type, the subcommand  fails.  The  values



SunOS 5.11           Last change: 8 Apr 2005                    7






System Administration Commands                         svccfg(1M)



         may be enclosed in double-quotes. String values contain-
         ing double-quotes or backslashes  must  be  enclosed  by
         double-quotes   and   the  contained  double-quotes  and
         backslashes must be quoted by  backslashes.  Nonexistent
         properties are created, in which case the type specifier
         must be present. See scf_value_create(3SCF) for  a  list
         of available property types. See smf_security(5) for the
         privileges required to modify properties.




     delpropvalue pg/name globpattern


         Deletes all values matching the given  glob  pattern  in
         the  named  property.  Succeeds even if no values match.
         See  smf_security(5)  for  the  privileges  required  to
         modify properties.




     setenv [-i | -s] [-m method_name] envvar value


         Sets a method environment  variable  for  a  service  or
         instance  by  changing the "environment" property in the
         method_name property   group, if that property group has
         type  "method".  If method_name is not specified and the
         -i option is used, the "method_context"  property  group
         is used, if an instance is currently selected. If the -s
         option is used and a service is currently selected,  its
         "method_context"  property  group  is  used.  If  the -s
         option is used and an instance  is  currently  selected,
         the  "method_context"  property  group  of its parent is
         used. If neither the -i option  nor  the  -s  option  is
         used,  the "start" property group is searched for in the
         currently  selected  entity  and,  if  an  instance   is
         currently  selected, its parent is also searched. If the
         "inetd_start" property  group  is  not  located,  it  is
         searched for in a similiar manner.



         Once the property is located,  all  values  which  begin
         with envvar followed by a "=" are removed, and the value
         "envvar=value" is added.  See  smf_security(5)  for  the
         privileges required to modify properties.






SunOS 5.11           Last change: 8 Apr 2005                    8






System Administration Commands                         svccfg(1M)



     unsetenv [-i | -s] [-m method_name] envvar value


         Removes a method environment variable for a  service  or
         instance  by  changing the "environment" property in the
         method_name property   group, if that property group has
         type  "method".  If method_name is not specified and the
         -i option is used, the "method_context"  property  group
         is used, if an instance is currently selected. If the -s
         option is used and a service is currently selected,  its
         "method_context"  property  group  is  used.  If  the -s
         option is used and an instance  is  currently  selected,
         the  "method_context"  property  group  of its parent is
         used. If neither the -i option  nor  the  -s  option  is
         used,  the "start" property group is searched for in the
         currently  selected  entity  and,  if  an  instance   is
         currently  selected, its parent is also searched. If the
         "inetd_start" property  group  is  not  located,  it  is
         searched for in a similiar manner.



         Once the property is located,  all  values  which  begin
         with   envvar   followed   by   "="   are  removed.  See
         smf_security(5) for the privileges  required  to  modify
         properties.




     Snapshot navigation and selection subcommands



     listsnap           Displays  snapshots  available  for   the
                        currently selected instance.




     selectsnap [name]  Changes the current snapshot to  the  one
                        named  by  name. If no name is specified,
                        deselect the currently selected snapshot.
                        Snapshots are read-only.




     revert [snapshot]  Reverts the properties of  the  currently
                        selected  instance  and  its  service  to
                        those recorded in the named snapshot.  If
                        no  argument  is given, use the currently



SunOS 5.11           Last change: 8 Apr 2005                    9






System Administration Commands                         svccfg(1M)



                        selected snapshot and deselect it on suc-
                        cess.  The changed property values can be
                        made active via the refresh subcommand of
                        svcadm(1M).  See  smf_security(5) for the
                        privileges required to change properties.




     All commands that accept FMRIs also  accept  abbreviated  or
     globbed  patterns. Instances and services can be abbreviated
     by specifying the instance name, or the trailing portion  of
     the service name. For example, given the FMRI:



       svc:/network/smtp:sendmail



     All the following are valid abbreviations:



       sendmail
       :sendmail
       smtp
       smtp:sendmail
       network/smtp



     While the following are invalid:



       mail
       network
       network/smt



     Abbreviated forms of FMRIs are unstable, and should  not  be
     used  in  scripts  or  other  permanent  tools. If a pattern
     matches more than one instance or service, an error  message
     is printed and no action is taken.



EXAMPLES
     Example 1 Exporting a Service Description




SunOS 5.11           Last change: 8 Apr 2005                   10






System Administration Commands                         svccfg(1M)



     To export a service description on the local system:



       $ svccfg export dumpadm >/tmp/dump.xml


     Example 2 Deleting a Service Instance


     To delete a service instance:



       $ svccfg delete network/inetd-upgrade:default


     Example 3 Importing a Service Description


     To interactively import a service description into a private
     repository:



       $ svccfg
             svc:> repository /tmp/repository
             svc:> import /home/hjs/svc/box-factory.xml
             svc:> end


     Example 4 Modifying a Start Method


     To modify LD_PRELOAD for a start method and enable  the  use
     of libumem(3LIB) with debugging features active:



       $ svccfg -s system/service setenv LD_PRELOAD libumem.so
       $ svccfg -s system/service setenv UMEM_DEBUG default



ENVIRONMENTAL VARIABLES
     EDITOR  The command to run when the editprop  subcommand  is
             used. The default editor is vi(1).








SunOS 5.11           Last change: 8 Apr 2005                   11






System Administration Commands                         svccfg(1M)



EXIT STATUS
     The following exit values are returned:



     0  Successful execution.




     1  One or more subcommands resulted in failure.  Error  mes-
        sages are written to the standard error stream.




     2  Invalid command line options were specified.




ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|
    | Interface Stability         | See below.                  |
    |_____________________________|_____________________________|


     The interactive output is Unstable. The invocation and  non-
     interactive output are Evolving.



SEE ALSO
     svcprop(1),    svcs(1),     svcadm(1M),     svc.configd(1M),
     libscf(3LIB),    libumem(3LIB),    scf_service_add_pg(3SCF),
     scf_value_create(3SCF),     contract(4),      attributes(5),
     fnmatch(5), smf(5), smf_method(5), smf_security(5)









SunOS 5.11           Last change: 8 Apr 2005                   12



-------------- next part --------------
--- svccfg.1m.orig      Thu Mar 15 11:28:46 2007
+++ svccfg.1m   Tue Mar 27 17:53:09 2007
@@ -183,6 +183,15 @@
                                   properties   such   as  service
                                   state, and is  suitable  for  a
                                   relocatable repository backup.
+                                  If one or more property groups
+                                  contains sensitive information
+                                  (identified by the presence of
+                                  the read_authorization property
+                                  - see smf_security(5)), and
+                                  insufficient privileges exist
+                                  to read the values of the
+                                  persistent properties in those
+                                  groups, an error results.
 
 
 
@@ -211,7 +220,8 @@
 
 
 
-     export service_FMRI [>file]  The service description for the
+     export [-a] service_FMRI [>file]
+                                 The service description for the
                                   specified   service   and   its
                                   instances is written  to  stan-
                                   dard  output  or  redirected to
@@ -220,7 +230,17 @@
                                   perty set to true  are  omitted
                                   in  the  belief  that they were
                                   created on  behalf  of  another
-                                  service.
+                                  service.  Without the -a option,
+                                  property groups containing
+                                  sensitive information
+                                  (identified by the presence of
+                                  the read_authorization property
+                                  - see smf_security(5)) will be
+                                  exported without their property
+                                  values.  When the -a option is
+                                  given, an error results if
+                                  there are insufficient
+                                  privileges to read these values.
 
 
 

Reply via email to