diff options
Diffstat (limited to 'sys/auth/oath.nix')
| -rw-r--r-- | sys/auth/oath.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/auth/oath.nix b/sys/auth/oath.nix new file mode 100644 index 0000000..6b00680 --- /dev/null +++ b/sys/auth/oath.nix @@ -0,0 +1,38 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib; let + cfg = config.local.auth.oath; +in { + options.local.auth.oath = { + enable = lib.mkEnableOption "pam-oath"; + }; + + config = lib.mkIf cfg.enable { + security.pam = { + oath = { + digits = 6; + window = 30; + + usersFile = "/var/trust/auth/users.oath"; + }; + + services.sshd.oathAuth = true; + }; + + users.users.tunnel = { + uid = 1100; + group = "nogroup"; + isSystemUser = true; + + # Requiere oath + password = "tunnel"; + + home = "/var/empty"; + shell = "${pkgs.coreutils}/bin/true"; + }; + }; +} |
