1 <?xml version='
1.0'
?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1+ -->
6 <refentry id=
"nss-systemd" conditional='ENABLE_NSS_SYSTEMD'
>
9 <title>nss-systemd
</title>
10 <productname>systemd
</productname>
14 <refentrytitle>nss-systemd
</refentrytitle>
15 <manvolnum>8</manvolnum>
19 <refname>nss-systemd
</refname>
20 <refname>libnss_systemd.so
.2</refname>
21 <refpurpose>Provide UNIX user and group name resolution for user/group lookup via Varlink
</refpurpose>
25 <para><filename>libnss_systemd.so
.2</filename></para>
29 <title>Description
</title>
31 <para><command>nss-systemd
</command> is a plug-in module for the GNU Name Service Switch (NSS)
32 functionality of the GNU C Library (
<command>glibc
</command>), providing UNIX user and group name
33 resolution for services implementing the
<ulink url=
"https://systemd.io/USER_GROUP_API">User/Group Record
34 Lookup API via Varlink
</ulink>, such as the system and service manager
35 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry> (for its
36 <varname>DynamicUser=
</varname> feature, see
37 <citerefentry><refentrytitle>systemd.exec
</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
39 <citerefentry><refentrytitle>systemd-homed.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
</para>
41 <para>This module also ensures that the root and nobody users and groups (i.e. the users/groups with the UIDs/GIDs
42 0 and
65534) remain resolvable at all times, even if they aren't listed in
<filename>/etc/passwd
</filename> or
43 <filename>/etc/group
</filename>, or if these files are missing.
</para>
45 <para>This module preferably utilizes
46 <citerefentry><refentrytitle>systemd-userdbd.service
</refentrytitle><manvolnum>8</manvolnum></citerefentry>
47 for resolving users and groups, but also works without the service running.
</para>
49 <para>To activate the NSS module, add
<literal>systemd
</literal> to the lines starting with
50 <literal>passwd:
</literal> and
<literal>group:
</literal> in
<filename>/etc/nsswitch.conf
</filename>.
</para>
52 <para>It is recommended to place
<literal>systemd
</literal> after the
<literal>files
</literal> or
53 <literal>compat
</literal> entry of the
<filename>/etc/nsswitch.conf
</filename> lines so that
54 <filename>/etc/passwd
</filename> and
<filename>/etc/group
</filename> based mappings take precedence.
</para>
58 <title>Example
</title>
60 <para>Here is an example
<filename>/etc/nsswitch.conf
</filename> file that enables
61 <command>nss-systemd
</command> correctly:
</para>
63 <!-- synchronize with other nss-* man pages and factory/etc/nsswitch.conf -->
64 <programlisting>passwd: compat mymachines
<command>systemd
</command>
65 group: compat [SUCCESS=merge] mymachines [SUCCESS=merge]
<command>systemd
</command>
68 hosts: mymachines resolve [!UNAVAIL=return] myhostname files dns
76 netgroup: nis
</programlisting>
81 <title>See Also
</title>
83 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
84 <citerefentry><refentrytitle>systemd.exec
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
85 <citerefentry><refentrytitle>nss-resolve
</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
86 <citerefentry><refentrytitle>nss-myhostname
</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
87 <citerefentry><refentrytitle>nss-mymachines
</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
88 <citerefentry project='man-pages'
><refentrytitle>nsswitch.conf
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
89 <citerefentry project='man-pages'
><refentrytitle>getent
</refentrytitle><manvolnum>1</manvolnum></citerefentry>