systemd-userdbd8
Json user/group record query multiplexer/nss compatibility
Part of systemd-userdbd.service(8).
Usage
systemd-userdbd.service
Overview
systemd-userdbd is a system service that multiplexes user/group lookups to all local services that provide JSON user/group record definitions to the system. In addition it synthesizes JSON user/group records from classic UNIX/glibc NSS user/group records in order to provide full backwards compatibility. It may also pick up statically defined JSON user/group records from files in /etc/userdb/, /run/userdb/, /run/host/userdb/ and /usr/lib/userdb/ with the ".user" or ".group" extension. For more details about the extensions read the nss-systemd(8) manpage.
Most of systemd-userdbd's functionality is accessible through the userdbctl(1) command.
The user and group records this service provides access to follow the JSON User Records[1] and JSON Group Record[2] definitions. This service implements the User/Group Record Lookup API via Varlink[3], and multiplexes access other services implementing this API, too. It is thus both server and client of this API.
This service provides three distinct Varlink[4] services: io.systemd.Multiplexer provides a single, unified API for querying JSON user and group records. Internally it talks to all other user/group record services running on the system in parallel and forwards any information discovered. This simplifies clients substantially since they need to talk to a single service only instead of all of them in parallel. io.systemd.NameServiceSwitch provides compatibility with classic UNIX/glibc NSS user records, i.e. converts struct passwd and struct group records as acquired with APIs such as getpwnam(1) to JSON user/group records, thus hiding the differences between the services as much as possible. io.systemd.DropIn makes JSON user/group records from the aforementioned drop-in directories available.
Notes
- 1.
-
JSON User Records
https://systemd.io/USER_RECORD
- 2.
-
JSON Group Record
https://systemd.io/GROUP_RECORD
- 3.
-
User/Group Record Lookup API via Varlink
https://systemd.io/USER_GROUP_API
- 4.
-
Varlink
https://varlink.org/
Releases
2 releases since Debian 12 (Bookworm); the text changed 1 time.