From: Andreas Schneider Date: Wed, 5 Feb 2025 14:38:32 +0000 (+0100) Subject: docs: Add an examples for command line access X-Git-Tag: v258-rc1~1409 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=20634844ddfc55eebbd6696919f043e3272881c2;p=thirdparty%2Fsystemd.git docs: Add an examples for command line access It took me almost an hour to read through the source code to construct this line. --- diff --git a/docs/USER_GROUP_API.md b/docs/USER_GROUP_API.md index fdb7b6568c6..1109ad81da7 100644 --- a/docs/USER_GROUP_API.md +++ b/docs/USER_GROUP_API.md @@ -323,3 +323,24 @@ result in more than one reply, because neither UID/GID nor name is specified) is Services which are asked for enumeration may return the `EnumerationNotSupported` error in this case. And that's really all there is to it. + +## Command Line Access + +For command line access you can use the +[userdbctl](https://www.freedesktop.org/software/systemd/man/latest/userdbctl.html) +or +[varlinkctl](https://www.freedesktop.org/software/systemd/man/latest/varlinkctl.html) +commands. The `userdbctl` command is more end user friendly and the `varlinkctl` +command can help developers to understand the user database better. + +To figure out which methods in the user database are available you can use: + +```sh +varlinkctl introspect /run/systemd/userdb/io.systemd.Multiplexer io.systemd.UserDatabase +``` + +To get a record for a specific user use: + +```sh +varlinkctl call /run/systemd/userdb/io.systemd.Multiplexer io.systemd.UserDatabase.GetUserRecord '{"userName": "alice", "service": "io.systemd.Multiplexer"}' +```