Cockpit uses systemd and the DBus APIs it provides to configure and monitor core aspects of the system. Use of alternate system APIs are not currently implemented.
For non root users, systemd controls access to its APIs via Policy Kit and a user logged into Cockpit will have the same permissions as they do from the command line.
Cockpit retrieves information about the host and changes the hostname via the
hostnamed
daemon. To perform similar tasks from the command line use the
hostnamectl
command:
$ hostnamectl
Static hostname: pink.example.com
Pretty hostname: Pink
Icon name: computer-desktop
Chassis: desktop
Machine ID: ef00b79be229463cbb844c3e715de96c
Boot ID: 934983d64d34465cb5a8383b5a89ad8c
Operating System: Fedora 22 (Twenty Two)
CPE OS Name: cpe:/o:fedoraproject:fedora:22
Kernel: Linux 4.0.4-301.fc22.x86_64
Architecture: x86-64
Cockpit configures the system time and time zone via the timedated
daemon.
To perform similar tasks from the command line use the
timedatectl
command:
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
...
Cockpit can manage the list of NTP servers used by
systemd-timesyncd
by putting its own file into
/etc/systemd/timesyncd.conf.d/
. Note that
systemd-timesyncd
is not always enabled, depending on
the configuration of the machine. In that case, Cockpit disabled the
UI for managing the list of NTP servers. In some cases use of
ntpd
can cause the timedated
daemon to
behave inconsistently with regards to time synchronization.
Cockpit reboots or powers down the machine by using the
shutdown
command. To perform similar tasks from the command line, run it directly:
$ sudo shutdown +15
Shutdown scheduled for Sa 2015-09-26 15:49:40 CEST, use 'shutdown -c' to cancel.
Cockpit manages system services and sockets via systemd. To perform similar tasks from the
command line use the
systemctl
command:
$ systemctl status cockpit
● cockpit.service - Cockpit Web Service
Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor preset: disabled)
Drop-In: /etc/systemd/system/cockpit.service.d
└─debug.conf
Active: active (running) since Sa 2015-09-26 13:28:02 CEST; 2h 7min ago
Docs: man:cockpit-ws(8)
Main PID: 6957 (cockpit-ws)
Memory: 1.8M
CGroup: /system.slice/cockpit.service
├─ 6957 /usr/libexec/cockpit-ws
└─29598 /usr/bin/ssh-agent
In order to customize who can perform various actions in system, create polkit rules with the following actions and details:
|
Permission to manage system services or other units.
Details available: |
|
Permission to manage system services or other unit files. |
|
Permission to reload the systemd state. |
For example, placing the following polkit rule to
/etc/polkit-1/rules.d/10-http.rule
allows all users in the
operators
group start, stop, and restart the Apache HTTP service:
polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.systemd1.manage-units") { if (subject.isInGroup("operators") && action.lookup("unit") == "httpd.service") { var verb = action.lookup("verb"); if (verb == "start" || verb == "stop" || verb == "restart") { return polkit.Result.YES; } } } });