Run one-shot as another user

Run a transient one-shot unit under a specific user

systemd-run --uid=1000 --gid=1000 --wait /usr/bin/myapp --task

tool
systemd26 commands
tags
systemd

More systemd commands

  • cat > /etc/systemd/system/backup.timer <<EOF [Unit] Description=Daily backup [Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target EOF

    Replacement for cron with Persistent=true for missed runs

  • systemctl set-property myapp.service MemoryMax=512M CPUQuota=50%

    Apply cgroup limits without editing unit file

  • systemctl status myapp.service | grep -E 'Memory:|CPU:|Tasks:'

    Current memory, CPU, and task counts from cgroup

  • systemctl list-units --type=socket --all

    All socket-activated units and their state

  • systemctl mask snapd.service

    Prevent a service from being started by anything

all 26 systemd commands