At last, the fix no one asked for: Portable home directories merged into systemd
Option to securely carry your user profile with you in next release
The systemd-homed service, which enables portable home directories, has been merged into the code for systemd and will be included in the forthcoming 245 release.
Systemd releases are typically every three to four months, and version 244 was finalised at the end of November 2019. The new merge includes over 21,000 additions to systemd. Once 245 is out, it will be up to individual Linux distributions to decide when to update it. Use of the new home directories service is optional.
The purpose of the change is described here:
Each directory it manages encapsulates both the data store and the user record of the user so that it comprehensively describes the user account, and is thus naturally portable between systems without any further, external metadata.
Home directories in the new system support several storage mechanisms and may be located on a removeable drive. The user record is cryptographically signed so the user cannot modify it themselves without invalidating it. There is an option for encryption with fscrypt (applies encryption at the directory level), or mounting from a CIFS network share, or in a partition encrypted with LUKS2 (Linux Unified Key Setup). This last is the most secure approach.
Systemd inventor Lennart Poettering described the new feature at the All Systems Go event in Berlin, September 2019, as reported here. Poettering said it would improve security as well as being more logical. "It solves a couple of problems we saw with traditional ways to manage home directories, in particular when it comes to encryption," he said in the release notes for version 245.
One use case is where a user has a PC running Linux in both their home and office, and is able to carry their home directory with them on a portable storage device. The advent of cloud storage has made this less of a problem than would have been the case a few years back, and a common reaction to the new systemd approach is that the problems it fixes are not pressing and may be outweighed by potential incompatibilities. ®