From ba4a31b7a61cc730b7cbc10948d4f1d6d78d93c7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 14 Dec 2020 13:23:00 +0100 Subject: [PATCH] man: document new ability to connect to user of container --- man/sd_bus_default.xml | 22 ++++++++++++++++++++-- man/user-system-options.xml | 10 ++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/man/sd_bus_default.xml b/man/sd_bus_default.xml index 4ae26414eb..768a386160 100644 --- a/man/sd_bus_default.xml +++ b/man/sd_bus_default.xml @@ -24,6 +24,7 @@ sd_bus_open_with_description sd_bus_open_user sd_bus_open_user_with_description + sd_bus_open_user_machine sd_bus_open_system sd_bus_open_system_with_description sd_bus_open_system_remote @@ -73,6 +74,12 @@ const char *description + + int sd_bus_open_user_machine + sd_bus **bus + const char *machine + + int sd_bus_open_system sd_bus **bus @@ -187,14 +194,24 @@ work for the root user on the remote machine. sd_bus_open_system_machine() connects to the system bus in the specified - machine, where machine is the name of a local - container. See + machine, where machine is the name of a local container, + possibly prefixed by a user name and a separating @. If the container name is + specified as the special string .host the connection is made to the local system. This + is useful to connect to the local system bus as specific user, e.g. foobar@.host to + connect to the local system bus as local user foobar. If the @ + syntax is used either the left-hand side or the right-hand side may be ommited (but not both) in which + case the local user name or .host is implied. If the @ syntax is + not used the connection is always made as root user. See sd_bus_set_address3 for a description of the address syntax, and machinectl1 for more information about the "machine" concept. Note that connections into local containers are only available to privileged processes at this time. + sd_bus_open_user_machine() is similar to + sd_bus_open_system_machine(), but connects to the user bus of the root user, or if + the @ syntax is used, of the specified user. + These calls allocate a bus connection object and initiate the connection to a well-known bus of some form. An alternative to using these high-level calls is to create an unconnected bus @@ -210,6 +227,7 @@ Reference ownership The functions sd_bus_open(), sd_bus_open_user(), + sd_bus_open_user_machine(), sd_bus_open_system(), sd_bus_open_system_remote(), and sd_bus_open_system_machine() return a new diff --git a/man/user-system-options.xml b/man/user-system-options.xml index 728118e60c..e2c19b2982 100644 --- a/man/user-system-options.xml +++ b/man/user-system-options.xml @@ -45,8 +45,14 @@ - Execute operation on a local container. Specify a - container name to connect to. + Execute operation on a local container. Specify a container name to connect to, optionally + prefixed by a user name to connect as and a separating @ character. If the special + string .host is used in place of the container name, a connection to the local + system is made (which is useful to connect to a specific user's user bus: --user + --machine=lennart@.host). If the @ syntax is not used, the connection is + made as root user. If the @ syntax is used either the left hand side or the right hand + side may be ommitted (but not both) in which case the local user name and .host are + implied.