DBus Specification
The backends are a single executable application containing the following DBus Objects:
GroupsConfig | Controls group settings in /etc/groups |
HostsConfig | Controls how to access other hosts (namely, /etc/hosts, DNS servers and search domains |
IfacesConfig | Controls the network interfaces configuration (Ethernet, Wireless, Modem, ISDN, ...) |
NFSConfig | Controls the NFS exports configuration |
NTPConfig | Controls the NTP service configuration |
ServicesConfig | Controls the services that start/stop in the available runlevels |
SMBConfig | Controls the Samba configuration |
TimeConfig | Controls date/time and timezone |
UsersConfig | Controls users settings in /etc/passwd and /etc/shadow |
All these objects implement the org.freedesktop.SystemToolsBackends interface. This interface provides 2 methods:
get | Retrieves the configuration from the system |
set | Saves the configuration to the system |
The get method will return a data structure, which format depends on the object that has been requested, and the set method will accept exactly the same data structure format for the same object.
Data structure formats
GroupsConfig
Array | Structure (Defines a group) |
String | Group name | |
String | Group password | |||
Integer32 | Group ID (GID) | |||
Array | String | List of usernames that are members of the group | ||
Integer32 | Minimum GID for non-system groups | |||
Integer32 | Maximum GID for non-system groups |
HostsConfig
String | Hostname | |||
String | Domainname | |||
Array | Structure (Defines a host alias) |
String | IP Address for the static host | |
Array | String | Array of names for the static host | ||
Array | String | Array of IP Adresses of DNS Servers | ||
Array | String | Array of search domains |
IfacesConfig
Array | Structure (Represents an ethernet interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
Integer32 | Method to obtain the IP address:
|
||
String | IP address | ||
String | Network mask | ||
String | Network base address | ||
String | Broadcast address | ||
Array | Structure (Represents a wireless interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
Integer32 | Method to obtain the IP address:
|
||
String | IP address | ||
String | Network mask | ||
String | Network base address | ||
String | Broadcast address | ||
String | Wireless network ESSID | ||
Integer32 | Wireless network encryption method:
|
||
String | Wireless network key | ||
Array | Structure (Represents a IRLan interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
Integer32 | Method to obtain the IP address:
|
||
String | IP address | ||
String | Network mask | ||
String | Network base address | ||
String | Broadcast address | ||
Array | Structure (Represents a PLIP interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
String | IP address | ||
String | Remote IP address | ||
Array | Structure (Represents a PPP interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
String | Phone number | ||
String | Phone number prefix | ||
String | Serial port | ||
Integer32 | Modem volume (0-3) | ||
Integer32 | Dial mode:
|
||
String | Login | ||
String | Password | ||
Integer32 | Whether to set the interface as the default gateway | ||
Integer32 | Whether to update DNS when the modem connects | ||
Integer32 | Whether to persist if the connection fails | ||
Integer32 | Whether to require the other peer to authenticate itself | ||
Array | Structure (Represents a ISDN interface) |
String | Interface name |
Integer32 | Whether the interface is enabled | ||
Integer32 | Whether the interface is enabled automatically at boot time | ||
String | Phone number | ||
String | Phone number prefix | ||
String | Login | ||
String | Password | ||
Integer32 | Whether to set the interface as the default gateway | ||
Integer32 | Whether to update DNS when the modem connects | ||
Integer32 | Whether to persist if the connection fails | ||
Integer32 | Whether to require the other peer to authenticate itself |
NFSConfig
Array | Structure (Represents a NFS share) |
String | Path to the shared folder | ||
Array | Structure (Represents Share ACL) |
String | Host/IP address/Network address | ||
Integer32 | TRUE if it's read only for the defined host/group, FALSE otherwise |
NTPConfig
Array | String | Hostname or IP Address of a NTP server |
ServicesConfig
Array | String | List of runlevel names | |||
String | Name of the current runlevel | ||||
Array | Structure (Represents an init.d service) |
String | Service name | ||
Array | Structure (Represents the service state for a runlevel) |
String | Runlevel name that the structure represents | ||
Integer32 | 0 if the service starts in the runlevel, 1 if it is stopped for the runlevel | ||||
Integer32 | Priority for the service in the runlevel. This may be ignored for distributions that don't have this concept. |
SMBConfig
Array | Structure (Represents a SMB share) |
String | Share name |
String | Path to shared folder | ||
String | Comment | ||
Integer32 | Whether the share is available | ||
Integer32 | Whether the share is browsable | ||
Integer32 | Whether the share is public | ||
Integer32 | Whether the share is writeable | ||
String | Workgroup | ||
String | Description for other hosts | ||
Integer32 | Whether the computer has a WINS Server role | ||
String | WINS Server hostname/IP address |
TimeConfig
Integer32 | Year |
Integer32 | Month (From 0 to 11) |
Integer32 | Month day |
Integer32 | Hour (UTC) |
Integer32 | Minutes (UTC) |
Integer32 | Seconds (UTC) |
String | Timezone |
UsersConfig
Array | Structure (Represents an user) |
String | User login name | |
String | User Encrypted Password | |||
Integer32 | User ID (UID) | |||
Integer32 | Main group GID | |||
Structure | String | First field in GECOS fields, usually full name | ||
String | Second field in GECOS fields, usually Office/Location | |||
String | Third field in GECOS fields, usually work phone | |||
String | Fourth field in GECOS fields, usually home phone | |||
String | Fifth (and continuing) field(s) in GECOS fields, reserved for aditional data | |||
String | Home directory path | |||
String | Shell | |||
Array | String | Available shells | ||
Integer32 | Whether the system uses MD5 to store the passwords | |||
Integer32 | Minimum UID for new non-system users | |||
Integer32 | Maximum UID for new non-system users | |||
String | Default basedir for home directories | |||
String | Default shell for new users | |||
Integer32 | Default main group GID for new users |