Rootless Container nach Logout inaktiv

Problem: Rootless Container (z. B. mit Podman gestartet) terminieren bei einigen Benutzern nach dem Logout – bei anderen nicht. Das Verhalten ist inkonsistent, obwohl alle Nutzer sich auf demselben System befinden.

Ursache: Standardmäßig beendet `systemd` die Benutzer-Session nach dem Logout. Damit werden auch alle zugehörigen Prozesse, einschließlich rootless Container, beendet – es sei denn, das sogenannte „Lingering“ ist für den Benutzer aktiviert. Warum es bei manchen Benutzern trotzdem nicht passiert, könnte an verbleibenden Systemd-User-Services oder an nicht beendeten TTY-Sitzungen liegen.

Workaround: Lingering aktivieren, um zu verhindern, dass systemd die Benutzersitzung und damit die Container beendet:

loginctl enable-linger <username>

Dadurch wird für den Benutzer eine Datei unter `/var/lib/systemd/linger/` angelegt. Ab diesem Moment bleiben systemd-User-Services auch nach dem Logout aktiv – rootless Container laufen also weiter.

Hinweis: - Lingering ist vor allem bei dauerhaft laufenden rootless Containern sinnvoll. - Achtung bei Sicherheitsrichtlinien: Dauerhaft laufende Benutzer-Services können ungewollt Ressourcen belegen oder Angriffsfläche bieten.

Siehe auch: