summaryrefslogtreecommitdiff
path: root/src/machine/org.freedesktop.machine1.conf
Commit message (Collapse)AuthorAgeFilesLines
* machined: port machined's bus APIs to use new image metadata APILennart Poettering2017-11-201-0/+24
| | | | | | | Let's rework the D-Bus APIs GetImageOSRelease() to use the new internal metadata API, to query what it needs to know. Augment it with GetImageHostname(), GetImageMachineID(), GetImageMachineInfo(), that expose the other new APIS.
* machined: expose "UID shift" concept for containersLennart Poettering2017-02-171-0/+8
| | | | | | | | | | | | UID/GID mapping with userns can be arbitrarily complex. Let's break this down to a single admin-friendly parameter: let's expose the UID/GID shift of a container via a new bus call for each container, and let's show this as part of "machinectl status" if it is not 0. This should work for pretty much all real-life full OS container setups (i.e. the stuff machined is suppose to be useful for). For everything else we generate a clean error, clarifying that we can't expose the mapping.
* machined: add API for querying the OS release of a machine imageLennart Poettering2016-12-071-0/+8
| | | | | | | | | | This adds a bus call GetImageOSRelease() to the Manager interface that retrieves the /etc/os-release file of a machine image. It matches the existing GetMachineOSRelease() call, however operates on a disk image rather than a running container. The backend for this call on .raw images is implemented via the generalized image dissector, which makes this scheme relatively easy to implement.
* machined: make sure CleanPool() method is opened up in the dbus policyLennart Poettering2016-06-241-0/+4
| | | | | | | The method is already hooked up to PolicyKit, hence let's open this up via the bus policy language too. Fixes: #3585
* machined: add new OpenShell() bus callLennart Poettering2015-08-241-0/+8
| | | | | | | | | This new bus call opens an interactive shell in a container. It works like the existing OpenLogin() call, but does not involve getty, and instead opens an arbitrary command line. This is similar to "systemd-run -t -M" but is controlled by a specific PolicyKit privilege.
* nss-mymachines: map userns users of containers to real user namesLennart Poettering2015-07-091-0/+16
| | | | | | | | | | | | | Given a container "foo", that maps user id $UID to container user, using user namespaces, this NSS module extenstion will now map the $UID to a name "vu-foo-$TUID" for the translated UID $UID. Similar, userns groups are mapped to "vg-foo-$TGID" for translated GIDs of $GID. This simple change should make userns users more discoverable. Also, given that many tools like "adduser" check NSS before allocating a UID, should lower the chance of UID range conflicts between tools.
* machined,machinectl: add calls for changing container/VM quotasLennart Poettering2015-02-251-0/+12
|
* machined: actually open up methods to unprivileged clients on dbus1Lennart Poettering2015-02-241-0/+72
| | | | | | | | Many of machined's operations are now opened up to unprivileged clients via PolicyKit. Open up the dbus policy so that we can actually make these calls. kdbus doesn't reuqire this, hence this wasn't noticed before.
* machined: introduce polkit for OpenLogin() callLennart Poettering2014-12-231-0/+8
| | | | This way "machinectl login" can be opened up to run without privileges.
* machined: add new GetImage() bus call for retrieving the bus path for an imageLennart Poettering2014-12-191-0/+4
|
* machined/machinectl: add logic to show list of available imagesLennart Poettering2014-12-191-0/+4
| | | | | | | | | This adds a new bus call to machined that enumerates /var/lib/container and returns all trees stored in it, distuingishing three types: - GPT disk images, which are files suffixed with ".gpt" - directory trees - btrfs subvolumes
* machine: make sure unpriviliged "machinectl status" can show the machine's ↵Lennart Poettering2014-08-041-4/+8
| | | | OS version
* machinectl: show /etc/os-release information of container in status outputLennart Poettering2014-07-031-0/+4
|
* machined: make sure GetMachineAddresses() is available for unprivileged ↵Lennart Poettering2014-05-191-0/+8
| | | | processes
* bus: introduce "trusted" bus concept and encode access control in object vtablesLennart Poettering2013-12-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces a new concept of "trusted" vs. "untrusted" busses. For the latter libsystemd-bus will automatically do per-method access control, for the former all access is automatically granted. Per-method access control is encoded in the vtables: by default all methods are only accessible to privileged clients. If the SD_BUS_VTABLE_UNPRIVILEGED flag is set for a method it is accessible to unprivileged clients too. By default whether a client is privileged is determined via checking for its CAP_SYS_ADMIN capability, but this can be altered via the SD_BUS_VTABLE_CAPABILITY() macro that can be ORed into the flags field of the method. Writable properties are also subject to SD_BUS_VTABLE_UNPRIVILEGED and SD_BUS_VTABLE_CAPABILITY() for controlling write access to them. Note however that read access is unrestricted, as PropertiesChanged messages might send out the values anyway as an unrestricted broadcast. By default the system bus is set to "untrusted" and the user bus is "trusted" since per-method access control on the latter is unnecessary. On dbus1 busses we check the UID of the caller rather than the configured capability since the capability cannot be determined without race. On kdbus the capability is checked if possible from the attached meta-data of a message and otherwise queried from the sending peer. This also decorates the vtables of the various daemons we ship with these flags.
* machined: relax access to GetMachine()Lennart Poettering2013-07-021-0/+4
|
* machined: split out machine registration stuff from logindLennart Poettering2013-07-021-0/+46
Embedded folks don't need the machine registration stuff, hence it's nice to make this optional. Also, I'd expect that machinectl will grow additional commands quickly, for example to join existing containers and suchlike, hence it's better keeping that separate from loginctl.