From af76740fc0af42844202e0ea29570a0b154850c5 Mon Sep 17 00:00:00 2001 From: noahdotpy Date: Mon, 8 Jan 2024 17:40:12 +1000 Subject: [PATCH] move conservation mode scripts to pkexec she-bang, allowing all users to run them --- config/files/usr/bin/conservationmodeoff | 2 +- config/files/usr/bin/conservationmodeon | 2 +- config/files/usr/bin/conservationmodestatus | 2 +- .../polkit-1/rules.d/allowed_all_users.rules | 1 + .../etc/polkit-1/rules.d/conservationmode.rules | 17 +++++++++++++++++ 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 config/files/usr/etc/polkit-1/rules.d/conservationmode.rules diff --git a/config/files/usr/bin/conservationmodeoff b/config/files/usr/bin/conservationmodeoff index a503e6a..b7439e9 100755 --- a/config/files/usr/bin/conservationmodeoff +++ b/config/files/usr/bin/conservationmodeoff @@ -1,2 +1,2 @@ -#!/usr/bin/env bash +#!/usr/bin/pkexec /usr/bin/env bash echo -n "0" | tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode diff --git a/config/files/usr/bin/conservationmodeon b/config/files/usr/bin/conservationmodeon index 91a09d2..9a6d5a7 100755 --- a/config/files/usr/bin/conservationmodeon +++ b/config/files/usr/bin/conservationmodeon @@ -1,2 +1,2 @@ -#!/usr/bin/env bash +#!/usr/bin/pkexec /usr/bin/env bash echo -n "1" | tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode diff --git a/config/files/usr/bin/conservationmodestatus b/config/files/usr/bin/conservationmodestatus index afa5b8c..63f011c 100755 --- a/config/files/usr/bin/conservationmodestatus +++ b/config/files/usr/bin/conservationmodestatus @@ -1,2 +1,2 @@ -#!/usr/bin/env bash +#!/usr/bin/pkexec /usr/bin/env bash cat /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode diff --git a/config/files/usr/etc/polkit-1/rules.d/allowed_all_users.rules b/config/files/usr/etc/polkit-1/rules.d/allowed_all_users.rules index b2523ac..4a3b910 100644 --- a/config/files/usr/etc/polkit-1/rules.d/allowed_all_users.rules +++ b/config/files/usr/etc/polkit-1/rules.d/allowed_all_users.rules @@ -10,3 +10,4 @@ polkit.addRule(function(action, subject) { return polkit.Result.YES; } }); + diff --git a/config/files/usr/etc/polkit-1/rules.d/conservationmode.rules b/config/files/usr/etc/polkit-1/rules.d/conservationmode.rules new file mode 100644 index 0000000..76c401a --- /dev/null +++ b/config/files/usr/etc/polkit-1/rules.d/conservationmode.rules @@ -0,0 +1,17 @@ +/* Allow members of the wheel group to execute the defined actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if ( + (action.id == "org.projectatomic.rpmostree1.upgrade") && + ( + action.lookup("program") == "/usr/bin/conservationmodeon" || + action.lookup("program") == "/usr/bin/conservationmodeoff" || + action.lookup("program") == "/usr/bin/conservationmodestatus" + ) + ) + { + return polkit.Result.YES; + } +}); +