View file File name : oddjobd.conf Content :<?xml version="1.0"?> <!-- This configuration file controls the oddjob daemon. It controls which requests the daemon will recognize, and whether or not it will attempt to fulfill them on the behalf of particular users. Each <oddjobconfig> contains a mixture of <service> and <include> nodes. Each <service> element corresponds to a well-known D-Bus address (given in the "name" attribute) which the oddjobd daemon will answer to. It may contain one or more <object> elements which each describe an object path. Each <object>, in turn, is named by its "name" attribute. Each <object> element must also contain zero or more <interface> elements, which are named by their "name" attributes and correspond to names of interfaces which the object implements. Each <interface> element must contain zero or more <method> elements, which are named by their "name" attributes. Each <method> node corresponds to a D-Bus method implemented by the object as part of the interface. Each method must include an access-control list which contains at least one rule, or the daemon will ignore any attempts to call the method. When checking if a client is allowed to use a method, all deny rules are processed, then all allow rules. The first rule which matches the user decides whether access is allowed or denied. Access rules can specify either a user (using the "user" attribute), or a range of UIDs (using the "min_uid" and "max_uid" attributes). If SELinux support was compiled in, then a rule can also specify whether or not it applies if the SELinux policy is being enforced ("selinux_enforcing"), or what the caller's SELinux context ("selinux_context"), user ("selinux_user"), role ("selinux_role"), or type ("selinux_type") must be for that rule to apply. A method may, as part of its definition, specify an external program which is to be run when the method is invoked, by including a <helper> node. The <helper> node should include an "exec" attribute naming the external program which will be launched to accomplish the given task. Depending on the value of its "argument_passing_method" attribute, it will receive its arguments either over stdin, one argument per line, or on the command line. Depending on the value of the "prepend_user_name" attribute, the argument list may or may not begin with the calling user's name. The helper will be run with superuser privileges. Here's what an example /etc/oddjobd.conf.d/crontabs.conf might look like, allowing either users with either UID=0 or the staff_r role to run the regularly scheduled cron jobs at will: <oddjobconfig> <service name="com.redhat.periodic_cron"> <allow user="root"/> <allow selinux_enforcing="yes" selinux_role="staff_r"/> <object name="/cron/hourly"> <interface name="com.redhat.periodic_run"> <method name="run"> <helper exec="/usr/bin/run-parts /etc/cron.hourly" arguments="0"/> </method> </interface> </object> <object name="/cron/daily"> <interface name="com.redhat.periodic_run"> <method name="run"> <helper exec="/usr/bin/run-parts /etc/cron.daily" arguments="0"/> </method> </interface> </object> <object name="/cron/weekly"> <interface name="com.redhat.periodic_run"> <method name="run"> <helper exec="/usr/bin/run-parts /etc/cron.weekly" arguments="0"/> </method> </interface> </object> <object name="/cron/monthly"> <interface name="com.redhat.periodic_run"> <method name="run"> <helper exec="/usr/bin/run-parts /etc/cron.monthly" arguments="0"/> </method> </interface> </object> </service> </oddjobconfig> --> <oddjobconfig> <service name="com.redhat.oddjob"> <object name="/com/redhat/oddjob"> <interface name="com.redhat.oddjob"> <method name="listall"> <allow min_uid="0" max_uid="0"/> </method> <method name="list"> <allow/> </method> <method name="quit"> <allow user="root"/> </method> <method name="reload"> <allow user="root"/> </method> </interface> </object> </service> <!-- Site-specific or other distributed additions. --> <include ignore_missing="yes">/etc/oddjobd.conf.d/*.conf</include> <!-- Local additions. --> <include ignore_missing="yes">/etc/oddjobd-local.conf</include> </oddjobconfig>