1AUTHSELECT-PROFILES(5)                                  AUTHSELECT-PROFILES(5)
2
3
4

NAME

6       authselect-profiles - how to extend authselect profiles.
7

DESCRIPTION

9       This manual page explains how are authselect profiles organized and how
10       to create new profiles.
11

PROFILE DIRECTORIES

13       Profiles can be found in one of three directories.
14
15       /usr/share/authselect/default
16           Read-only directory containing profiles shipped together with
17           authselect.
18
19       /usr/share/authselect/vendor
20           Read-only directory for vendor-specific profiles that can override
21           the ones in default directory.
22
23       /etc/authselect/custom
24           Place for administrator-defined profiles.
25

PROFILE FILES

27       Each profile consists of one or more of these files which provide a
28       mandatory profile description and describe the changes that are done to
29       the system.
30
31       README
32           Description of the profile. The first line must be a name of the
33           profile.
34
35       system-auth
36           PAM stack that is included from nearly all individual service
37           configuration files.
38
39       password-auth, smartcard-auth, fingerprint-auth
40           These PAM stacks are for applications which handle authentication
41           from different types of devices via simultaneously running
42           individual conversations instead of one aggregate conversation.
43
44       postlogin
45           The purpose of this PAM stack is to provide a common place for all
46           PAM modules which should be called after the stack configured in
47           system-auth or the other common PAM configuration files. It is
48           included from all individual service configuration files that
49           provide login service with shell or file access.  NOTE: the modules
50           in the postlogin configuration file are executed regardless of the
51           success or failure of the modules in the system-auth configuration
52           file.
53
54       nsswitch.conf
55           Name Service Switch configuration file. Only maps relevant to the
56           profile must be set. Maps that are not specified by the profile are
57           included from /etc/authselect/user-nsswitch.conf.
58
59       dconf-db
60           Changes to dconf database. The main uses case of this file is to
61           set changes for gnome login screen in order to enable or disable
62           smartcard and fingerprint authentication.
63
64       dconf-locks
65           This file define locks on values set in dconf database.
66
67   CONDITIONAL LINES
68       Each of these files serves as a template. A template is a plain text
69       file with optional usage of several operators that can be used to
70       provide some optional profile features.
71
72       {continue if "feature"}
73           Immediately stop processing of the file unless "feature" is defined
74           (the rest of the file content will be removed). If "feature" is
75           defined, the whole line with this operator will be removed and the
76           rest of the template will be processed.
77
78       {stop if "feature"}
79           Opposite of "continue if". Immediately stop processing of the file
80           if "feature" is defined (the rest of the file content will be
81           removed). If "feature" is not defined, the whole line with this
82           operator will be removed and the rest of the template will be
83           processed.
84
85       {include if "feature"}
86           Include the line where this operator is placed only if "feature" is
87           defined.
88
89       {exclude if "feature"}
90           Opposite to "include-if". Include the line where this operator is
91           placed only if "feature" is not defined.
92
93       {if "feature":true|false}
94           If "feature" is defined, replace this operator with string "true",
95           otherwise with string "false".
96
97       {if "feature":true}
98           If "feature" is defined, replace this operator with string "true",
99           otherwise with an empty string.
100
101       {if not "feature":true|false}
102           If "feature" is not defined, replace this operator with string
103           "true", otherwise with string "false".
104
105       {if not "feature":true}
106           If "feature" is not defined, replace this operator with string
107           "true", otherwise with an empty string.
108
109   EXAMPLE
110       Here is an example of using "if" operator. If "with-sudo" feature is
111       enabled, it will add "sss" to sudoers line.
112
113           passwd:     sss files
114           group:      sss files
115           netgroup:   sss files
116           automount:  sss files
117           services:   sss files
118           sudoers:    files {if "with-sudo":sss}
119
120       Here is an example of "continue-if" and "include-if" operators. The
121       resulting file will be empty unless "with-smartcard" feature is
122       enabled. If it is enabled and also "with-faillock" feature is enabled,
123       it will also enable support for pam_faillock.
124
125           {continue if "with-smartcard"}
126           auth        required                                     pam_env.so
127           auth        required                                     pam_faildelay.so delay=2000000
128           auth        required                                     pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"}
129           auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
130           auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
131           auth        sufficient                                   pam_unix.so nullok try_first_pass
132           auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
133           auth        sufficient                                   pam_sss.so forward_pass
134           auth        required                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
135           auth        required                                     pam_deny.so
136           ...
137

CREATING A NEW PROFILE

139       To register a new profile within authselect, create a directory in one
140       of the authselect profile locations with the files listed above. Not
141       all of the files must be present, only README is mandatory. Other files
142       can be created on per-need basis.
143

SEE ALSO

145       authselect(8), nsswitch.conf(5), PAM(8)
146
147
148
149                                  2018-02-17            AUTHSELECT-PROFILES(5)
Impressum