chiark / gitweb /
logind: split %t directory creation to a helper unit
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 9 Dec 2017 18:30:17 +0000 (19:30 +0100)
committerSven Eden <yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000 (16:47 +0200)
commit91d75d0a03adb57aefa2fa61ef6a7092ffda2881
tree5f430c96982fdb94511ed366566772e24c7cd221
parenteb4fb6ebb1b639fceafd729ab1bbc47f4db64873
logind: split %t directory creation to a helper unit

Unfortunately this needs a new binary to do the mount because there's just
too many special steps to outsource this to systemd-mount:
- EPERM needs to be treated specially
- UserRuntimeDir= setting must be obeyed
- SELinux label must be adjusted

This allows user@.service to be started independently of logind.
So 'systemctl start user@nnn' will start the user manager for user nnn.
Logind will start it too when the user logs in, and will stop it (unless
lingering is enabled) when the user logs out.

Fixes #7339.
meson.build
src/login/logind-user.c
src/login/meson.build
src/login/user-runtime-dir.c [new file with mode: 0644]