diff --git a/defaults/main.yml b/defaults/main.yml index b3e5872..352e654 100755 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -50,4 +50,5 @@ borg_user: "root" borg_group: "root" backup_user_info: home: "/home/{{ borg_user }}" +borgmatic_run_as_root: false ... diff --git a/meta/argument_specs.yml b/meta/argument_specs.yml index b668fe9..f5e88cb 100644 --- a/meta/argument_specs.yml +++ b/meta/argument_specs.yml @@ -203,3 +203,7 @@ argument_specs: type: str required: false description: Comment added to the SSH public key. + borgmatic_run_as_root: + type: bool + required: false + description: If the variable is set, systemd will run borgmatic using sudo. diff --git a/templates/borgmatic.service.j2 b/templates/borgmatic.service.j2 index 9504916..0e6c574 100644 --- a/templates/borgmatic.service.j2 +++ b/templates/borgmatic.service.j2 @@ -12,7 +12,7 @@ ConditionACPower=true [Service] Type=oneshot User={{ borg_user }} -ExecStart={{ 'sudo ' if borg_user != 'root'}}borgmatic -c /etc/borgmatic/{{ borgmatic_config_name }} {{ borgmatic_timer_flags }} +ExecStart={{ 'sudo ' if borgmatic_run_as_root}}borgmatic -c /etc/borgmatic/{{ borgmatic_config_name }} {{ borgmatic_timer_flags }} # Source: https://projects.torsion.org/borgmatic-collective/borgmatic/raw/branch/master/sample/systemd/borgmatic.service # Security settings for systemd running as root, optional but recommended to improve security. You @@ -22,7 +22,7 @@ LockPersonality=true # Certain borgmatic features like Healthchecks integration need MemoryDenyWriteExecute to be off. # But you can try setting it to "yes" for improved security if you don't use those features. MemoryDenyWriteExecute=no -NoNewPrivileges={{ 'no' if borg_user != 'root' else 'yes'}} +NoNewPrivileges={{ 'no' if borgmatic_run_as_root else 'yes'}} PrivateDevices=yes PrivateTmp=yes ProtectClock=yes