Polkit: Difference between revisions

Ntninja (talk | contribs)
Show how to do authorization request debugging
DHCP (talk | contribs)
m fix indentation
 
Line 22: Line 22:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  security.polkit.extraConfig = ''
security.polkit.extraConfig = ''
    polkit.addRule(function (action, subject) {
  polkit.addRule(function (action, subject) {
      if (
    if (
        subject.isInGroup("users") &&
      subject.isInGroup("users") &&
        [
      [
          "org.freedesktop.login1.reboot",
        "org.freedesktop.login1.reboot",
          "org.freedesktop.login1.reboot-multiple-sessions",
        "org.freedesktop.login1.reboot-multiple-sessions",
          "org.freedesktop.login1.power-off",
        "org.freedesktop.login1.power-off",
          "org.freedesktop.login1.power-off-multiple-sessions",
        "org.freedesktop.login1.power-off-multiple-sessions",
        ].indexOf(action.id) !== -1
      ].indexOf(action.id) !== -1
      ) {
    ) {
        return polkit.Result.YES;
      return polkit.Result.YES;
      }
    }
    });
  });
  '';
'';
</nowiki>}}
</nowiki>}}


Line 43: Line 43:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  security.polkit.extraConfig = ''
security.polkit.extraConfig = ''
    polkit.addRule(function(action, subject) {
  polkit.addRule(function(action, subject) {
      if (subject.isInGroup("wheel"))
    if (subject.isInGroup("wheel"))
        return polkit.Result.YES;
      return polkit.Result.YES;
    });
  });
  '';
'';
</nowiki>}}
</nowiki>}}


Line 58: Line 58:


{{file|/etc/nixos/configuration.nix|nix|<nowiki>
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  security.polkit = {
security.polkit = {
    debug = true;  // Enables `polkit.log` function
  debug = true;  // Enables `polkit.log` function
    extraConfig = ''
  extraConfig = ''
      polkit.addRule(function(action, subject) {
    polkit.addRule(function(action, subject) {
        polkit.log("");
      polkit.log("");
        polkit.log("action=" + action);
      polkit.log("action=" + action);
        polkit.log("subject=" + subject);
      polkit.log("subject=" + subject);
      });
    });
    '';
  '';
  };
};
</nowiki>}}
</nowiki>}}