SYSTEMD-USERDBD.SERVICE(8) systemd-userdbd.service SYSTEMD-USERDBD.SERVICE(8)

.SH "NAME" systemd-userdbd.service, systemd-userdbd - JSON User/Group Record Query Multiplexer/NSS Compatibility

.SH "SYNOPSIS"

.PP systemd-userdbd.service

.PP /usr/lib/systemd/systemd-userdbd

.SH "DESCRIPTION"

.PP **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)](/man/os/systemd/nss-systemd.8) manpage.

.PP Most of **systemd-userdbd**'s functionality is accessible through the [**userdbctl**(1)](/man/os/systemd/userdbctl.1) command.

.PP 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.

.PP 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)](/man/os/systemd/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.

.SH "SEE ALSO"

.PP [**systemd**(1)](/man/os/systemd/systemd.1), [**nss-systemd**(8)](/man/os/systemd/nss-systemd.8), [**userdbctl**(1)](/man/os/systemd/userdbctl.1), [**systemd-homed.service**(8)](/man/os/systemd/systemd-homed.service.8)

# [NOTES](#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/

systemd 262.2

---

Document: systemd-userdbd.service(8) from systemd 262.2-r1 (Chainguard OS)
Source: https://github.com/systemd/systemd
