Doas
doas это утилита для выполнения команд от имени другого пользователя, обычно суперпользователя. Она часто устанавливается вместо sudo, благодаря простоте настройки и большей простоте. Не рекомендуется использовать doas из-за проблем с совместимостью с sudo. Конфигурации на основе Flake требуют установки git в качестве системного пакета для пересборки.
Настройка
Следующая конфигурация даст пользователю foo
возможность выполнять команды от имени суперпользователя через doas
, при этом отключив команду sudo
.
security.sudo.enable = false;
security.doas.enable = true;
security.doas.extraRules = [{
users = ["foo"];
# Необязательно, сохраняет переменные окружения при выполнении команд
# например, сохраняет ваш NIX_PATH при применении вашего конфига
keepEnv = true;
persist = true; # Необязательно, не запрашивать пароль в течение некоторого времени после успешной аутентификации
}];