Initial import from FreeBSD RELENG_4:
[dragonfly.git] / etc / pam.conf
1 # Configuration file for Pluggable Authentication Modules (PAM).
2 #
3 # This file controls the authentication methods that login and other
4 # utilities use.  See pam(8) for a description of its format.
5 #
6 # $FreeBSD: src/etc/pam.conf,v 1.6.2.18 2003/02/15 17:20:27 des Exp $
7 #
8 # service-name  module-type     control-flag    module-path     arguments
9 #
10 # module-type:
11 #  auth:      prompt for a password to authenticate that the user is
12 #             who they say they are, and set any credentials.
13 #  account:   non-authentication based authorization, based on time,
14 #             resources, etc.
15 #  session:   housekeeping before and/or after login.
16 #  password:  update authentication tokens.
17 #
18 # control-flag: How libpam handles success or failure of the module.
19 #  required:   success is required, and on failure all remaining
20 #              modules are run.
21 #  requisite:  success is required, and on failure no remaining
22 #              modules are run.
23 #  sufficient: success is sufficient, and if no previous required
24 #              module failed, no remaining modules are run.
25 #  optional:   ignored unless the other modules return PAM_IGNORE.
26 #
27 # arguments:
28 #  Passed to the module; module-specific plus some generic ones:
29 #   debug:           syslog debug info.
30 #   no_warn:         return no warning messages to the application.
31 #   use_first_pass:  try authentication using password from the
32 #                    preceding auth module.
33 #   try_first_pass:  first try authentication using password from
34 #                    the preceding auth module, and if that fails
35 #                    prompt for a new password.
36 #   use_mapped_pass: convert cleartext password to a crypto key.
37 #   expose_account:  allow printing more info about the user when
38 #                    prompting.
39 #
40 # Each final entry must say "required" -- otherwise, things don't
41 # work quite right.  If you delete a final entry, be sure to change
42 # "sufficient" to "required" in the entry before it.
43
44 # If the user can authenticate with S/Key, that's sufficient; allow clear
45 # password. Try kerberos, then try plain unix password.
46 login   auth    sufficient      pam_skey.so
47 login   auth    sufficient      pam_opie.so                     no_fake_prompts
48 #login  auth    requisite       pam_opieaccess.so
49 login   auth    requisite       pam_cleartext_pass_ok.so
50 #login  auth    sufficient      pam_kerberosIV.so               try_first_pass
51 #login  auth    sufficient      pam_krb5.so                     try_first_pass
52 login   auth    required        pam_unix.so                     try_first_pass
53 login   account required        pam_unix.so
54 login   password required       pam_permit.so
55 login   session required        pam_permit.so
56
57 # Same requirement for ftpd as login
58 ftpd    auth    sufficient      pam_skey.so
59 ftpd    auth    sufficient      pam_opie.so                     no_fake_prompts
60 #ftpd   auth    requisite       pam_opieaccess.so
61 ftpd    auth    requisite       pam_cleartext_pass_ok.so
62 #ftpd   auth    sufficient      pam_kerberosIV.so               try_first_pass
63 #ftpd   auth    sufficient      pam_krb5.so                     try_first_pass
64 ftpd    auth    required        pam_unix.so                     try_first_pass
65
66 # OpenSSH with PAM support requires similar modules.  The session one is
67 # a bit strange, though...
68 sshd    auth    sufficient      pam_skey.so
69 sshd    auth    sufficient      pam_opie.so                     no_fake_prompts
70 #sshd   auth    requisite       pam_opieaccess.so
71 #sshd   auth    sufficient      pam_kerberosIV.so               try_first_pass
72 #sshd   auth    sufficient      pam_krb5.so                     try_first_pass
73 sshd    auth    required        pam_unix.so                     try_first_pass
74 sshd    account required        pam_unix.so
75 sshd    password required       pam_permit.so
76 sshd    session required        pam_permit.so
77
78 # "telnetd" is for SRA authenticated telnet only. Non-SRA uses 'login'
79 telnetd auth    required        pam_unix.so                     try_first_pass
80
81 # Don't break startx
82 xserver auth    required        pam_permit.so
83
84 # XDM is difficult; it fails or moans unless there are modules for each
85 # of the four management groups; auth, account, session and password.
86 xdm     auth    required        pam_unix.so
87 #xdm    auth    sufficient      pam_kerberosIV.so               try_first_pass
88 #xdm    auth    sufficient      pam_krb5.so                     try_first_pass
89 xdm     account required        pam_unix.so                     try_first_pass
90 xdm     session required        pam_deny.so
91 xdm     password required       pam_deny.so
92
93 # GDM (GNOME Display Manager)
94 gdm     auth    required        pam_unix.so
95 #gdm    auth    sufficient      pam_kerberosIV.so               try_first_pass
96 #gdm    auth    sufficient      pam_krb5.so                     try_first_pass
97 gdm     account required        pam_unix.so                     try_first_pass
98 gdm     session required        pam_permit.so
99 gdm     password required       pam_deny.so
100
101 # Mail services
102 imap    auth    required        pam_unix.so                     try_first_pass
103 pop3    auth    required        pam_unix.so                     try_first_pass
104
105 # If we don't match anything else, default to using getpwnam().
106 other   auth    sufficient      pam_skey.so
107 other   auth    required        pam_unix.so                     try_first_pass
108 other   account required        pam_unix.so                     try_first_pass