Merge pull request #324347 from jtojnar/gdm-fingerprint-fix
nixos/gdm: Fix fingerprint auth rules
This commit is contained in:
@@ -35,18 +35,7 @@ in
|
||||
|
||||
xdg.portal.extraPortals = [ pkgs.gnome-keyring ];
|
||||
|
||||
security.pam.services = lib.mkMerge [
|
||||
{
|
||||
login.enableGnomeKeyring = true;
|
||||
}
|
||||
(lib.mkIf config.services.xserver.displayManager.gdm.enable {
|
||||
gdm-password.enableGnomeKeyring = true;
|
||||
gdm-autologin.enableGnomeKeyring = true;
|
||||
})
|
||||
(lib.mkIf (config.services.xserver.displayManager.gdm.enable && config.services.fprintd.enable) {
|
||||
gdm-fingerprint.enableGnomeKeyring = true;
|
||||
})
|
||||
];
|
||||
security.pam.services.login.enableGnomeKeyring = true;
|
||||
|
||||
security.wrappers.gnome-keyring-daemon = {
|
||||
owner = "root";
|
||||
|
||||
@@ -6,6 +6,7 @@ let
|
||||
|
||||
cfg = config.services.xserver.displayManager;
|
||||
gdm = pkgs.gnome.gdm;
|
||||
pamCfg = config.security.pam.services;
|
||||
settingsFormat = pkgs.formats.ini { };
|
||||
configFile = settingsFormat.generate "custom.conf" cfg.gdm.settings;
|
||||
|
||||
@@ -321,15 +322,20 @@ in
|
||||
session include login
|
||||
'';
|
||||
|
||||
# This would block password prompt when included by gdm-password.
|
||||
# GDM will instead run gdm-fingerprint in parallel.
|
||||
login.fprintAuth = mkIf config.services.fprintd.enable false;
|
||||
|
||||
gdm-fingerprint.text = mkIf config.services.fprintd.enable ''
|
||||
auth required pam_shells.so
|
||||
auth requisite pam_nologin.so
|
||||
auth requisite pam_faillock.so preauth
|
||||
auth required ${pkgs.fprintd}/lib/security/pam_fprintd.so
|
||||
auth optional pam_permit.so
|
||||
auth required pam_env.so
|
||||
auth [success=ok default=1] ${pkgs.gnome.gdm}/lib/security/pam_gdm.so
|
||||
${lib.optionalString pamCfg.login.enableGnomeKeyring ''
|
||||
auth [success=ok default=1] ${pkgs.gnome.gdm}/lib/security/pam_gdm.so
|
||||
auth optional ${pkgs.gnome-keyring}/lib/security/pam_gnome_keyring.so
|
||||
''}
|
||||
|
||||
account include login
|
||||
|
||||
|
||||
Reference in New Issue
Block a user