systemd-homed.service(8) — Linux manual page


SYSTEMD-HOMED.SERVICE(8)    systemd-homed.service   SYSTEMD-HOMED.SERVICE(8)

NAME         top

       systemd-homed.service, systemd-homed - Home Area/User Account Manager

SYNOPSIS         top



DESCRIPTION         top

       systemd-homed is a system service that may be used to create, remove,
       change or inspect home areas (directories and network mounts and real
       or loopback block devices with a filesystem, optionally encrypted).

       Most of systemd-homed's functionality is accessible through the
       homectl(1) command.

       See the Home Directories[1] documentation for details about the
       format and design of home areas managed by systemd-homed.service.

       Each home directory managed by systemd-homed.service synthesizes a
       local user and group. These are made available to the system using
       the User/Group Record Lookup API via Varlink[2], and thus may be
       browsed with userdbctl(1).

KEY MANAGEMENT         top

       User records are cryptographically signed with a public/private key
       pair (the signature is part of the JSON record itself). For a user to
       be permitted to log in locally the public key matching the signature
       of their user record must be installed. For a user record to be
       modified locally the private key matching the signature must be
       installed locally, too. The keys are stored in the
       /var/lib/systemd/home/ directory:

           The private key of the public/private key pair used for local
           records. Currently, only a single such key may be installed.

           The public key of the public/private key pair used for local
           records. Currently, only a single such key may be installed.

           Additional public keys. Any users whose user records are signed
           with any of these keys are permitted to log in locally. An
           arbitrary number of keys may be installed this way.

       All key files listed above are in PEM format.

       In order to migrate a home directory from a host "foobar" to another
       host "quux" it is hence sufficient to copy
       /var/lib/systemd/home/local.public from the host "foobar" to "quux",
       maybe calling the file on the destination
       /var/lib/systemd/home/foobar.public, reflecting the origin of the
       key. If the user record should be modifiable on "quux" the pair
       /var/lib/systemd/home/local.public and
       /var/lib/systemd/home/local.private need to be copied from "foobar"
       to "quux", and placed under the identical paths there, as currently
       only a single private key is supported per host. Note of course that
       the latter means that user records generated/signed before the key
       pair is copied in, lose their validity.

SEE ALSO         top

       systemd(1), homed.conf(5), homectl(1), pam_systemd_home(8),
       userdbctl(1), org.freedesktop.home1(5)

NOTES         top

        1. Home Directories

        2. User/Group Record Lookup API via Varlink

COLOPHON         top

       This page is part of the systemd (systemd system and service manager)
       project.  Information about the project can be found at 
       ⟨⟩.  If you have a bug
       report for this manual page, see
       ⟨⟩.  This
       page was obtained from the project's upstream Git repository
       ⟨⟩ on 2020-11-01.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2020-11-01.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or im‐
       provements to the information in this COLOPHON (which is not part of
       the original manual page), send a mail to

systemd 247                                         SYSTEMD-HOMED.SERVICE(8)

Pages that refer to this page: homectl(1)userdbctl(1)homed.conf(5)homed.conf.d(5)org.freedesktop.home1(5)systemd.exec(5)30-systemd-environment-d-generator(7)systemd.directives(7)systemd.index(7)