nixos/polkit: remove root from adminIdentities

Fixes https://github.com/NixOS/nixpkgs/issues/75075.

To summarize the report in the aforementioned issue, at a glance,
it's a different default than what upstream polkit has. Apparently
for 8+ years polkit defaults admin identities as members of
the wheel group [0]. This assumption would be appropriate on NixOS, where
every member of group 'wheel' is necessarily privileged.

[0]: https://gitlab.freedesktop.org/polkit/polkit/commit/763faf434b445c20ae9529100d3ef5290976d0c9

Changed files
+12 -3
nixos
doc
manual
release-notes
modules
security
+10
nixos/doc/manual/release-notes/rl-2003.xml
···
The fourStore and fourStoreEndpoint modules have been removed.
</para>
</listitem>
+
<listitem>
+
<para>
+
Polkit no longer has the user of uid 0 (root) as an admin identity.
+
We now follow the upstream default of only having every member of the wheel
+
group admin privileged. Before it was root and members of wheel.
+
The positive outcome of this is pkexec GUI popups or terminal prompts
+
will no longer require the user to choose between two essentially equivalent
+
choices (whether to perform the action as themselves with wheel permissions, or as the root user).
+
</para>
+
</listitem>
</itemizedlist>
</section>
+2 -3
nixos/modules/security/polkit.nix
···
security.polkit.adminIdentities = mkOption {
type = types.listOf types.str;
-
default = [ "unix-user:0" "unix-group:wheel" ];
+
default = [ "unix-group:wheel" ];
example = [ "unix-user:alice" "unix-group:admin" ];
description =
''
Specifies which users are considered “administrators”, for those
actions that require the user to authenticate as an
administrator (i.e. have an <literal>auth_admin</literal>
-
value). By default, this is the <literal>root</literal>
-
user and all users in the <literal>wheel</literal> group.
+
value). By default, this is all users in the <literal>wheel</literal> group.
'';
};