SYSTEMD-USERDBD.SERVICE(8)
π NAME π
systemd-userdbd.service, systemd-userdbd β bestie, it's the JSON User/Group Record Query Multiplexer/NSS Compatibility situation β¨
πΈ SYNOPSIS πΈ
systemd-userdbd.service
/usr/lib/systemd/systemd-userdbd
π¦ DESCRIPTION π¦
okay so systemd-userdbd is a system service and its whole personality is multiplexing user/group lookups π
like, it takes every local service that offers JSON user/group record definitions to your system and it puts them all on one group call. no cap.
and because it loves you and wants full backwards compatibility, it also synthesizes JSON user/group records straight out of classic UNIX/glibc NSS user/group records π«Ά iconic behaviour tbh.
it can also pick up statically defined JSON user/group records from files chilling in these directories:
/etc/userdb//run/userdb//run/host/userdb//usr/lib/userdb/
β¦as long as they have the .user or .group extension π and for more deets on those extensions, go read the nss-systemd(8) manpage, bestie.
ngl, most of systemd-userdbd's functionality is accessible through the userdbctl(1) command β that's your shortcut π
the user and group records this service hands you 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 it also multiplexes access to other services implementing this same API, too. so it's literally both server and client of this API β main character energy on both sides of the convo πβ¨
and this service provides three distinct Varlink[4] services, periodt:
io.systemd.Multiplexerβ gives you a single, unified API for querying JSON user and group records π internally it talks to all the other user/group record services running on the system in parallel and forwards any information it discovers. this simplifies clients so much, like, they only have to talk to one single service instead of all of them in parallel. obsessed.io.systemd.NameServiceSwitchβ gives you compatibility with classic UNIX/glibc NSS user records π i.e. it convertsstruct passwdandstruct grouprecords as acquired with APIs such asgetpwnam(1)into JSON user/group records, thus hiding the differences between the services as much as possible. so sneaky, so helpful.io.systemd.DropInβ makes JSON user/group records from the aforementioned drop-in directories available π easy.
π SEE ALSO π
systemd(1), nss-systemd(8), userdbctl(1), systemd-homed.service(8)
π NOTES π
- JSON User Records β https://systemd.io/USER_RECORD
- JSON Group Record β https://systemd.io/GROUP_RECORD
- User/Group Record Lookup API via Varlink β https://systemd.io/USER_GROUP_API
- Varlink β https://varlink.org/
and that's the whole page, bestie!! β¨π this was systemd 262.1, page SYSTEMD-USERDBD.SERVICE(8) π¦ go query some records, you ate π πΈ
π¦ where this page comes from
- arch rolling: systemd 262.1-1 Β· LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms