data: Lockdown the fprintd service

Give read-write access to USB devices in /dev, and the location of the
fingerprints, access to Unix sockets for D-Bus and
close everything else down.

See systemd.exec(5) for details about the options.
This commit is contained in:
Bastien Nocera
2017-01-05 12:55:48 +01:00
parent b3c1ed0d2a
commit 36d3d9d749
2 changed files with 21 additions and 1 deletions

View File

@ -15,7 +15,7 @@ if HAVE_SYSTEMD
systemdservicedir = $(systemdsystemunitdir) systemdservicedir = $(systemdsystemunitdir)
systemdservice_DATA = $(systemdservice_in_files:.service.in=.service) systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
$(systemdservice_DATA): $(systemdservice_in_files) Makefile $(systemdservice_DATA): $(systemdservice_in_files) Makefile
@sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ @sed -e "s|\@libexecdir\@|$(libexecdir)|" -e "s|\@localstatedir\@|$(localstatedir)|" $< > $@
endif endif
polkitdir = $(datadir)/polkit-1/actions polkitdir = $(datadir)/polkit-1/actions

View File

@ -6,3 +6,23 @@ Documentation=man:fprintd(1)
Type=dbus Type=dbus
BusName=net.reactivated.Fprint BusName=net.reactivated.Fprint
ExecStart=@libexecdir@/fprintd ExecStart=@libexecdir@/fprintd
# Filesystem lockdown
ProtectSystem=strict
ProtectKernelTunables=true
ProtectControlGroups=true
ReadWritePaths=@localstatedir@/lib/fprint
ProtectHome=true
PrivateTmp=true
# Network
PrivateNetwork=true
# Execute Mappings
MemoryDenyWriteExecute=true
# Modules
ProtectKernelModules=true
# Real-time
RestrictRealtime=true