vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / security / oath.nix
blobacf9440b9b92c470e9aee7991369c2ea8bbd139a
1 # This module provides configuration for the OATH PAM modules.
2 { lib, ... }:
4   options = {
6     security.pam.oath = {
7       enable = lib.mkOption {
8         type = lib.types.bool;
9         default = false;
10         description = ''
11           Enable the OATH (one-time password) PAM module.
12         '';
13       };
15       digits = lib.mkOption {
16         type = lib.types.enum [ 6 7 8 ];
17         default = 6;
18         description = ''
19           Specify the lib.length of the one-time password in number of
20           digits.
21         '';
22       };
24       window = lib.mkOption {
25         type = lib.types.int;
26         default = 5;
27         description = ''
28           Specify the number of one-time passwords to check in order
29           to accommodate for situations where the system and the
30           client are slightly out of sync (iteration for HOTP or time
31           steps for TOTP).
32         '';
33       };
35       usersFile = lib.mkOption {
36         type = lib.types.path;
37         default = "/etc/users.oath";
38         description = ''
39           Set the path to file where the user's credentials are
40           stored. This file must not be world readable!
41         '';
42       };
43     };
45   };