On Mo, 29.07.19 08:17, Ulrich Windl (Ulrich.Windl@xxxxxxxxxxxxxxxxxxxx) wrote: > >> What this "solution" fails to see is that any user can start a > >> process that may prevent clean unmount. It's completely far away > >> from reality to believe that such a user will write (or even know > >> how to write) a systemd service! > > > > We automatically kill all unpriv user programs on shutdown. > > Which part of systemd does that? And is that "rather new"? PID 1 does that. All sessions are managed as so called "scope" units by PID 1, that's why they show up in "systemct -t scope". These scope units are ordered so that they are terminated before the system goes down. For example, I am currently logged in as session "1" on my machine, hence: <snip> $ systemctl cat session-1.scope # /run/systemd/transient/session-1.scope # This is a transient unit file, created programmatically via the systemd API. Do not edit. [Scope] Slice=user-1000.slice [Unit] Description=Session 1 of user lennart Wants=user-runtime-dir@1000.service Wants=user@1000.service After=systemd-logind.service After=systemd-user-sessions.service After=user-runtime-dir@1000.service After=user@1000.service RequiresMountsFor=/home/lennart [Scope] SendSIGHUP=yes TasksMax=infinity </snip> Key here is that these scope units are ordered after systemd-user-sessions.service, which also means they are terminated before that service is terminated (since in systemd the shutdown order is always the inverse of the startup order). Lennart -- Lennart Poettering, Berlin _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel