nixos/shadow: use su from sudo-rs when enabled
When security.sudo-rs.enable is true, use the memory-safe su implementation from sudo-rs instead of the one from shadow.
This commit is contained in:
@@ -22,6 +22,13 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
security.shadow.su.package = lib.mkPackageOption pkgs [ "shadow" "su" ] {
|
||||
extraDescription = ''
|
||||
This can be overridden by other modules (e.g. sudo-rs) to provide
|
||||
an alternative `su` implementation.
|
||||
'';
|
||||
};
|
||||
|
||||
security.loginDefs = {
|
||||
package = lib.mkPackageOption pkgs "shadow" { };
|
||||
|
||||
@@ -262,7 +269,7 @@ in
|
||||
};
|
||||
in
|
||||
{
|
||||
su = mkSetuidRoot "${cfg.package.su}/bin/su";
|
||||
su = mkSetuidRoot "${config.security.shadow.su.package}/bin/su";
|
||||
sg = mkSetuidRoot "${cfg.package.out}/bin/sg";
|
||||
newgrp = mkSetuidRoot "${cfg.package.out}/bin/newgrp";
|
||||
newuidmap = mkSetuidRoot "${cfg.package.out}/bin/newuidmap";
|
||||
|
||||
@@ -215,6 +215,8 @@ in
|
||||
];
|
||||
security.sudo.enable = lib.mkDefault false;
|
||||
|
||||
security.shadow.su.package = lib.mkDefault cfg.package;
|
||||
|
||||
security.sudo-rs.extraRules =
|
||||
let
|
||||
defaultRule =
|
||||
|
||||
Reference in New Issue
Block a user