From 48b0aa71646b3600f37dfa258c9fe16d7bb6747f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 9 Mar 2023 20:54:00 +0100 Subject: [PATCH] nixos/sssd: create symlinks in /etc to fix sssctl Without this, sssctl fails to read its configuration. Update the NixOS test to ensure sssctl doesn't regress. --- nixos/modules/services/misc/sssd.nix | 5 +++++ nixos/tests/sssd.nix | 1 + 2 files changed, 6 insertions(+) diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix index edd5750a4a47..7c7a3b464a83 100644 --- a/nixos/modules/services/misc/sssd.nix +++ b/nixos/modules/services/misc/sssd.nix @@ -77,6 +77,10 @@ in { }; config = mkMerge [ (mkIf cfg.enable { + # For `sssctl` to work. + environment.etc."sssd/sssd.conf".source = settingsFile; + environment.etc."sssd/conf.d".source = "${dataDir}/conf.d"; + systemd.services.sssd = { description = "System Security Services Daemon"; wantedBy = [ "multi-user.target" ]; @@ -101,6 +105,7 @@ in { EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile; }; preStart = '' + mkdir -p "${dataDir}/conf.d" [ -f ${settingsFile} ] && rm -f ${settingsFile} old_umask=$(umask) umask 0177 diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix index 25527cb59a59..c8d356e074ad 100644 --- a/nixos/tests/sssd.nix +++ b/nixos/tests/sssd.nix @@ -13,5 +13,6 @@ import ./make-test-python.nix ({ pkgs, ... }: start_all() machine.wait_for_unit("multi-user.target") machine.wait_for_unit("sssd.service") + machine.succeed("sssctl config-check") ''; })