Files
muscl/assets/systemd/muscl.service

63 lines
1.3 KiB
Desktop File

[Unit]
Description=Muscl MySQL admin tool
Requires=muscl.socket
[Service]
Type=notify
ExecStart=/usr/bin/muscl server --systemd --disable-landlock socket-activate
ExecReload=/usr/bin/kill -HUP $MAINPID
WatchdogSec=15
# Although this is a multi-instance unit, the constant `User` field is needed
# for authentication via mysql's auth_socket plugin to work.
User=muscl
Group=muscl
DynamicUser=yes
ConfigurationDirectory=muscl
ImportCredential=muscl_mysql_password
# This is required to read unix user/group details.
PrivateUsers=false
# Needed to communicate with MySQL.
PrivateNetwork=false
PrivateIPC=false
AmbientCapabilities=
CapabilityBoundingSet=
DeviceAllow=
DevicePolicy=closed
LockPersonality=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
PrivateDevices=true
PrivateMounts=true
PrivateTmp=yes
ProcSubset=pid
ProtectClock=true
ProtectControlGroups=strict
ProtectHome=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=invisible
ProtectSystem=strict
RemoveIPC=true
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
SocketBindDeny=any
SystemCallArchitectures=native
SystemCallFilter=@system-service
# This is needed for landlock
# SystemCallFilter=@sandbox
SystemCallFilter=~@privileged @resources
UMask=0777