Provided by: oddjob_0.34.7-1_amd64 bug

NAME

       oddjobd.conf - configuration for oddjobd

DESCRIPTION

       The  /etc/oddjobd.conf  configuration  file  specifies  which  services the oddjobd server
       provides over the D-Bus, and authorization rules which are enforced in addition  to  those
       enforced by the system message bus.

       The  configuration file is an XML document.  The top-level element type is <oddjobconfig>,
       which contains one or more <service> elements.  Each <service> describes a  service  which
       will be provided on the system-wide message bus.

       Each  <object>  describes  an  object  path which will will be recognized by the specified
       service.  The object path may include wildcards, in which case any call to an object  with
       a  path name which matches the specified path will be accepted.  An object contains one or
       more <interface> elements, each of  which  describes  a  group  of  methods  described  in
       <method> elements.

       Each  <method>  element must specify the method name as a value for its name attribute and
       may include a <helper> element which the  name  of  an  executable  to  run  as  its  exec
       attribute  and  the  number  of arguments which will be expected from the D-Bus client and
       passed to the helper as its argument_count attribute.  The <helper>'s exec  attribute  can
       include  one  or more command line arguments, separated from the executable by whitespace.
       A <helper> may also include attributes indicating whether or not the invoking user's  name
       should  be  prepended  to  the  list  of  arguments  received as part of the D-Bus request
       (prepend_user_name, with recognized values  "yes"  or  "no"),  and  whether  that  set  of
       arguments should be passed in to the helper via stdin (the default) or on its command line
       (argument_passing_method, with recognized values "stdin" and "cmdline").

       Each <oddjobconfig>, <service>,  <object>,  <interface>,  or  <method>  element  may  also
       include  authorization elements <allow> and <deny>.  Each <allow> or <deny> rule specifies
       some combination of a user name and/or a UID range which the invoking user must match  for
       the  rule  to apply.  A rule can also specify the caller's SELinux context, user, role, or
       execution domain, and be applied or not based on whether or not policy is being  enforced.
       All  <deny>  rules for the method are checked first, followed by all of its <allow> rules.
       If no matches are found, the <deny> rules  for  the  containing  <interface>  element  are
       checked,  followed  by  its  <allow>  rules,  and  so on.  If all ACLs are searched and no
       matches turn up, access is denied.

       The oddjobd server will automatically supply information used by the  D-Bus  introspection
       mechanism  on  behalf  of  your  objects,  but  only if the client which is requesting the
       information    is    allowed    to    invoke    the    Introspect    method     of     the
       org.freedesktop.DBus.Introspectable interface provided by the object.

       The  configuration  file may also indicate that the contents of other files should be read
       by the configuration parser, using an <include> element.

EXAMPLES

       Here is an example file:
        <?xml version="1.0"?>
        <oddjobconfig/>

       Another:
        <?xml version="1.0"?>
        <oddjobconfig>
         <allow user="wally"/>
         <service name="com.redhat.oddjob">
          <allow user="polly"/>
          <object name="/com/redhat/oddjob">
           <allow user="holly"/>
           <interface name="com.redhat.oddjob">
            <allow user="bob"/>
            <method name="pwd">
             <helper exec="/bin/pwd" argument_count="0" prepend_user_name="no"/>
             <allow user="jimmy"/>
             <allow user="billy"/>
             <allow min_uid="0" max_uid="1000"/>
            </method>
            <method name="reboot">
             <helper exec="/sbin/reboot" argument_count="0"/>
            </method>
            <method name="flush-nscd">
             <helper exec="/sbin/nscd -i passwd -i group -i hosts" argument_count="0"/>
            </method>
           </interface>
           <interface name="org.freedesktop.DBus.Introspectable">
            <allow min_uid="0" max_uid="0"/>
           </interface>
          </object>
         </service>
         <include ignore_missing="yes">/etc/oddjobd-local.conf</include>
         <include ignore_missing="yes">/etc/oddjobd.conf.d/*.conf</include>
        </oddjobconfig>

       And another:
        <?xml version="1.0"?>
        <oddjobconfig>
         <service name="com.example.management">
          <object name="/com/example/power">
           <interface name="com.example.shutdown">
            <method name="reboot">
             <allow user="root"/>
             <helper exec="/sbin/reboot" argument_count="0"/>
            </method>
           </interface>
           <interface name="org.freedesktop.DBus.Introspectable">
            <allow min_uid="0" max_uid="0"/>
           </interface>
          </object>
          <object name="/com/example/power">
           <interface name="com.example.shutdown">
            <method name="poweroff">
             <allow user="root"/>
             <helper exec="/sbin/poweroff" argument_count="0"/>
            </method>
           </interface>
           <interface name="org.freedesktop.DBus.Introspectable">
            <allow min_uid="0" max_uid="0"/>
           </interface>
          </object>
         </service>
        </oddjobconfig>

SEE ALSO

       oddjob_request(1) oddjob.conf(5) oddjobd(8)