mirror of
https://github.com/morgan9e/systemd
synced 2026-04-15 08:56:15 +09:00
systemctl: keep ignoring sessions on shutdown as root
The change was supposed to be about respecting inhibitors, but
it was extended to also error out when there are active user
sessions, which was not intentional. Previously systemctl skipped
all checks if the caller was root or root-equivalent. Restore the
previous behaviour and again avoid blocking systemctl reboot by root
if there are active sessions, as long as there are no active
inhibitors.
Fixes https://github.com/systemd/systemd/issues/34086
Follow-up for 804874d26a
This commit is contained in:
@@ -204,6 +204,10 @@ int logind_check_inhibitors(enum action a) {
|
||||
if (r < 0)
|
||||
return bus_log_parse_error(r);
|
||||
|
||||
/* root respects inhibitors since v257 but keeps ignoring sessions by default */
|
||||
if (arg_check_inhibitors < 0 && c == 0 && geteuid() == 0)
|
||||
return 0;
|
||||
|
||||
/* Check for current sessions */
|
||||
sd_get_sessions(&sessions);
|
||||
STRV_FOREACH(s, sessions) {
|
||||
|
||||
Reference in New Issue
Block a user