
oddjobd Command in Linux
The oddjobd command is a daemon for Oddjob service, designed to handle specific tasks and services that require elevated privileges without granting full administrative access to users.
The oddjobd daemon provides the com.redhat.oddjob service on the system-wide D-Bus, exposing tasks as methods that can be invoked by name. D-Bus policies and Oddjob-specific configurations control access to these methods to ensure the secure execution of privileged tasks.
Table of Contents
Here is a comprehensive guide to the options available with the oddjobd command −
- Installation of oddjobd Command
- Syntax of oddjobd Command
- oddjobd Command Option
- Examples of oddjobd Command in Linux
Note − The oddjobd daemon is closely associated with Red Hat-based distributions, such as Red Hat Enterprise Linux (RHEL), CentOS, and Fedora, primarily because the service is registered under the com.redhat.oddjob D-Bus name. It can be installed on other distributions as well but it may cause compatibility issues.
Installation of oddjobd Command in Linux
The oddjobd daemon may not be available by default on many Linux distributions. To install it follow the instructions given below −
To install oddjobd on Ubuntu, Kali Linux, Raspberry Pi OS, Debian, and other Debian-based distributions, use the following command −
sudo apt install oddjob
To install it on CentOS, use −
sudo yum install oddjob
To install oddjobd on Fedora, use the following command −
sudo dnf install oddjob
To verify the installation, check the binary path of oddjobd by using the which command −
which oddjobd

By default, the service may not start, to start it, use the following command −
sudo systemctl start oddjobd.service
To view the daemon status, use the following command −
sudo systemctl status oddjobd.service

Syntax of oddjobd Command
The syntax of the oddjobd command is as follows −
oddjobd [options]
The [options] field in the above syntax is used to specify various options, such as enabling debug mode or setting timing. The next section discusses all the options.
oddjobd Command Option
The options for the oddjobd command are listed below −
Options | Description |
---|---|
-n | Running service in the foreground without forking |
-d | Enabling debug messages (implies -n) |
-p pidfile | Saving the process ID to the specified file |
-c config | Using the specified configuration file |
-S | Connecting to the session bus (for testing) |
-t timeout | Setting reconnect timeout (default: 30s) |
Examples of oddjobd Command in Linux
In this section, the usage of the oddjobd command will be discussed with examples −
Running oddjobd Service in the Foreground without Forking
To run the oddjobd service in the foreground without forking, use the -n option −
oddjobd -n
Running oddjobd Service in Debug Mode
To run the service in the debug mode, use the -d option −
oddjobd -d
This is useful for troubleshooting.
Using a Custom Configuration File
By default, the oddjobd service reads configuration from /etc/oddjobd.conf file. However, to specify the custom file, use the -c option −
oddjobd -c /home/user/oddjob_custom.conf
Storing the Service PID to a File
To store the daemon's PID in a file, use the -p option −
oddjobd -p /home/user/oddjobd.pid
Connecting to the Session Bus
To connect to the session bus instead of the system bus, use the -S option.
oddjobd -S
The -S option in oddjobd connects the daemon to the session D-Bus instead of the default system D-Bus. This is generally used for testing purposes because system D-Bus runs at the system level, while session D-Bus runs at the user's graphical or shell level.
After testing, the service can be used system-wide. For example, to start the debug mode at session level, execute the following command −
oddjobd -S -d

Setting Reconnect Timeout
By default, the reconnect time is 30 seconds. To set a custom reconnect time, use the -t option with a number of seconds.
oddjobd -t 20
Conclusion
The oddjobd daemon facilitates the execution of tasks requiring elevated privileges in Linux, providing a secure and efficient way to handle privileged operations without granting full administrative rights. It exposes its functionality as methods on the system-wide D-Bus via the com.redhat.oddjob service, with access controlled by D-Bus policies and configuration settings.
In this tutorial, we explained the oddjobd command, its installation, syntax, options, and usage in Linux with examples.