Sudo

From NixOS Wiki
Revision as of 17:02, 11 August 2024 by Unabomberlive (talk | contribs) (Created page with "Следующая простая настройка позволит всем пользователям, входящим в группу <code>wheel</code>, выполнять команды, указанные в <code>extraRules</code>, от имени суперпользователя с помощью <codd>sudo</code> без необходимости вводить пароль пользователя.")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sudo allows a system administrator to delegate authority to give certain users - or groups of users - the ability to run commands as root or another user while providing an audit trail of the commands and their arguments.

Использование

Следующая простая настройка позволит всем пользователям, входящим в группу wheel, выполнять команды, указанные в extraRules, от имени суперпользователя с помощью <codd>sudo без необходимости вводить пароль пользователя.

security.sudo = {
  enable = true;
  extraRules = [{
    commands = [
      {
        command = "${pkgs.systemd}/bin/systemctl suspend";
        options = [ "NOPASSWD" ];
      }
      {
        command = "${pkgs.systemd}/bin/reboot";
        options = [ "NOPASSWD" ];
      }
      {
        command = "${pkgs.systemd}/bin/poweroff";
        options = [ "NOPASSWD" ];
      }
    ];
    groups = [ "wheel" ];
  }];
  extraConfig = with pkgs; ''
    Defaults:picloud secure_path="${lib.makeBinPath [
      systemd
    ]}:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin"
  '';
};