2 # The PAM configuration file for the Shadow `login' service
5 # Enforce a minimal delay in case of failure (in microseconds).
6 # (Replaces the `FAIL_DELAY' setting from login.defs)
7 # Note that other modules may require another minimal delay. (for example,
8 # to disable any delay, you should add the nodelay option to pam_unix)
9 #auth optional pam_faildelay.so delay=3000000
10 auth optional pam_faildelay.so delay=0
12 # Outputs an issue file prior to each login prompt (Replaces the
13 # ISSUE_FILE option from login.defs). Uncomment for use
14 # auth required pam_issue.so issue=/etc/issue
16 # Disallows root logins except on tty's listed in /etc/securetty
17 # (Replaces the `CONSOLE' setting from login.defs)
19 # With the default control of this module:
20 # [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die]
21 # root will not be prompted for a password on insecure lines.
22 # if an invalid username is entered, a password is prompted (but login
23 # will eventually be rejected)
25 # You can change it to a "requisite" module if you think root may mis-type
26 # her login and should not be prompted for a password in that case. But
27 # this will leave the system as vulnerable to user enumeration attacks.
29 # You can change it to a "required" module if you think it permits to
30 # guess valid user names of your system (invalid user names are considered
31 # as possibly being root on insecure lines), but root passwords may be
32 # communicated over insecure lines.
33 auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so
35 # Disallows other than root logins when /etc/nologin exists
36 # (Replaces the `NOLOGINS_FILE' option from login.defs)
37 auth requisite pam_nologin.so
39 # SELinux needs to be the first session rule. This ensures that any
40 # lingering context has been cleared. Without out this it is possible
41 # that a module could execute code in the wrong domain.
42 # When the module is present, "required" would be sufficient (When SELinux
43 # is disabled, this returns success.)
44 session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
46 # This module parses environment configuration file(s)
47 # and also allows you to use an extended config
48 # file /etc/security/pam_env.conf.
50 # parsing /etc/environment needs "readenv=1"
51 session required pam_env.so readenv=1
52 # locale variables are also kept into /etc/default/locale in etch
53 # reading this file *in addition to /etc/environment* does not hurt
54 session required pam_env.so readenv=1 envfile=/etc/default/locale
58 # /etc/pam.d/common-auth - authentication settings common to all services
60 # This file is included from other service-specific PAM config files,
61 # and should contain a list of the authentication modules that define
62 # the central authentication scheme for use on the system
63 # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
64 # traditional Unix authentication mechanisms.
66 # As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
67 # To take advantage of this, it is recommended that you configure any
68 # local modules either before or after the default block, and use
69 # pam-auth-update to manage selection of other modules. See
70 # pam-auth-update(8) for details.
72 # here are the per-package modules (the "Primary" block)
73 auth [success=1 default=ignore] pam_python.so /usr/bin/arvados_pam.py
74 # here's the fallback if no module succeeds
75 auth requisite pam_deny.so
76 # prime the stack with a positive return value if there isn't one already;
77 # this avoids us returning an error just because nothing sets a success code
78 # since the modules above will each just jump around
79 auth required pam_permit.so
80 # and here are more per-package modules (the "Additional" block)
81 auth optional pam_ecryptfs.so unwrap
82 # end of pam-auth-update config
84 # This allows certain extra groups to be granted to a user
85 # based on things like time of day, tty, service, and user.
86 # Please edit /etc/security/group.conf to fit your needs
87 # (Replaces the `CONSOLE_GROUPS' option in login.defs)
88 auth optional pam_group.so
90 # Uncomment and edit /etc/security/time.conf if you need to set
91 # time restrainst on logins.
92 # (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
93 # as well as /etc/porttime)
94 # account requisite pam_time.so
96 # Uncomment and edit /etc/security/access.conf if you need to
98 # (Replaces /etc/login.access file)
99 # account required pam_access.so
101 # Sets up user limits according to /etc/security/limits.conf
102 # (Replaces the use of /etc/limits in old login)
103 session required pam_limits.so
105 # Prints the last login info upon succesful login
106 # (Replaces the `LASTLOG_ENAB' option from login.defs)
107 session optional pam_lastlog.so
109 # Prints the message of the day upon succesful login.
110 # (Replaces the `MOTD_FILE' option in login.defs)
111 # This includes a dynamically generated part from /run/motd.dynamic
112 # and a static (admin-editable) part from /etc/motd.
113 session optional pam_motd.so motd=/run/motd.dynamic
114 session optional pam_motd.so
116 # Prints the status of the user's mailbox upon succesful login
117 # (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
119 # This also defines the MAIL environment variable
120 # However, userdel also needs MAIL_DIR and MAIL_FILE variables
121 # in /etc/login.defs to make sure that removing a user
122 # also removes the user's mail spool file.
123 # See comments in /etc/login.defs
124 session optional pam_mail.so standard
126 # Standard Un*x account and session
127 @include common-account
128 @include common-session
129 @include common-password
131 # SELinux needs to intervene at login time to ensure that the process
132 # starts in the proper default security context. Only sessions which are
133 # intended to run in the user's context should be run after this.
134 session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
135 # When the module is present, "required" would be sufficient (When SELinux
136 # is disabled, this returns success.)