mirror of
https://github.com/systemd/systemd
synced 2024-07-21 10:17:21 +00:00
aed24c4cd7
This patch ensures that session devices are saved for each session. In order to make the revokation logic work when logind is restarted, the session devices are now saved in the session state files and their respective file descriptors sent to PID1's fdstore in order to keep them open accross restart. This is mandatory in order to keep the revokation logic working. Indeed in case of input-devices, the same file descriptors must be shared by logind and a given session controller in order EVIOCREVOKE to work otherwise multiple sessions can have device access in parallel. This should be the only remaining and missing piece for making logind fully restartable. Fixes: #1163
39 lines
1.4 KiB
SYSTEMD
39 lines
1.4 KiB
SYSTEMD
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
[Unit]
|
|
Description=Login Service
|
|
Documentation=man:systemd-logind.service(8) man:logind.conf(5)
|
|
Documentation=http://www.freedesktop.org/wiki/Software/systemd/logind
|
|
Documentation=http://www.freedesktop.org/wiki/Software/systemd/multiseat
|
|
Wants=user.slice
|
|
After=nss-user-lookup.target user.slice
|
|
|
|
# Ask for the dbus socket. If running over kdbus, the socket will
|
|
# not be actually used.
|
|
Wants=dbus.socket
|
|
After=dbus.socket
|
|
|
|
[Service]
|
|
ExecStart=@rootlibexecdir@/systemd-logind
|
|
Restart=always
|
|
RestartSec=0
|
|
BusName=org.freedesktop.login1
|
|
WatchdogSec=3min
|
|
CapabilityBoundingSet=CAP_SYS_ADMIN CAP_MAC_ADMIN CAP_AUDIT_CONTROL CAP_CHOWN CAP_KILL CAP_DAC_READ_SEARCH CAP_DAC_OVERRIDE CAP_FOWNER CAP_SYS_TTY_CONFIG
|
|
MemoryDenyWriteExecute=yes
|
|
RestrictRealtime=yes
|
|
RestrictNamespaces=yes
|
|
RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6
|
|
SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @obsolete @raw-io @reboot @swap
|
|
SystemCallArchitectures=native
|
|
FileDescriptorStoreMax=512
|
|
|
|
# Increase the default a bit in order to allow many simultaneous
|
|
# logins since we keep one fd open per session.
|
|
LimitNOFILE=16384
|