summaryrefslogtreecommitdiff
path: root/doc/modules/pam_mail.sgml
blob: 78ae95dc931ef2cbc727cc9a2f179098e13173b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!--
   $Id$
   
   This file was written by Andrew G. Morgan <morgan@kernel.org>
-->

<sect1>The mail module

<sect2>Synopsis

<p>
<descrip>

<tag><bf>Module Name:</bf></tag>
<tt/pam_mail/

<tag><bf>Author:</bf></tag>
Andrew G. Morgan &lt;morgan@kernel.org&gt;

<tag><bf>Maintainer:</bf></tag>
Author

<tag><bf>Management groups provided:</bf></tag>
Authentication (credential)
Session (open)

<tag><bf>Cryptographically sensitive:</bf></tag>
	
<tag><bf>Security rating:</bf></tag>

<tag><bf>Clean code base:</bf></tag>

<tag><bf>System dependencies:</bf></tag>
Default mail directory <tt>/var/spool/mail/</tt>

<tag><bf>Network aware:</bf></tag>

</descrip>

<sect2>Overview of module

<p>
This module looks at the user's mail directory and indicates
whether the user has any mail in it.

<sect2>Session component

<p>
<descrip>

<tag><bf>Recognized arguments:</bf></tag>
<tt/debug/; <tt/dir=/<em/directory-name/; <tt/nopen/; <tt/close/;
<tt/noenv/; <tt/empty/; <tt/hash=/<em/hashcount/; <tt/standard/;
<tt/quiet/;

<tag><bf>Description:</bf></tag>

This module provides the ``you have new mail'' service to the user. It
can be plugged into any application that has credential hooks. It gives a
single message indicating the <em/newness/ of any mail it finds in the
user's mail folder. This module also sets the <bf/Linux-PAM/
environment variable, <tt/MAIL/, to the user's mail directory.

<p>
The behavior of this module can be modified with one of the following
flags:

<p>
<itemize>
<item><tt/debug/
- write more information to <tt/syslog(3)/.

<item><tt/dir=/<em/pathname/
- look for the users' mail in an alternative directory given by
<em/pathname/.  The default location for mail is
<tt>/var/spool/mail</tt>. Note, if the supplied <em/pathname/ is
prefixed by a `<tt/&tilde;/', the directory is interpreted as
indicating a file in the user's home directory.

<item><tt/nopen/
- instruct the module to <em/not/ print any mail information when the
user's credentials are acquired. This flag is useful to get the <tt/MAIL/
environment variable set, but to not display any information about it.

<item><tt/close/
- instruct the module to indicate if the user has any mail at the as
the user's credentials are revoked.

<item><tt/noenv/
- do not set the <tt/MAIL/ environment variable.

<item><tt/empty/
- indicate that the user's mail directory is empty if this is found to
be the case.

<item><tt/hash=/<em/hashcount/
- mail directory hash depth.  For example, a <em/hashcount/ of 2 would
make the mailfile be <tt>/var/spool/mail/u/s/user</tt>.

<item><tt/standard/
- old style "You have..." format which doesn't show the mail spool being used.
  this also implies "empty"

<item><tt/quiet/
- only report when there is new mail.

</itemize>

<tag><bf>Examples/suggested usage:</bf></tag>

This module can be used to indicate that the user has new mail when
they <em/login/ to the system. Here is a sample entry for your
<tt>/etc/pam.conf</tt> file:
<tscreen>
<verb>
#
# do we have any mail?
#
login	session	 optional	pam_mail.so
</verb>
</tscreen>

<p>
Note, if the mail spool file (be it <tt>/var/spool/mail/$USER</tt> or
a pathname given with the <tt>dir=</tt> parameter) is a directory then
<tt>pam_mail</tt> assumes it is in the <it>Qmail Maildir</it> format.

<p>
Note, some applications may perform this function themselves. In such
cases, this module is not necessary.

</descrip>

<sect2>Authentication component

<p>
Then authentication companent works the same as the session component,
except that everything is done during the <tt>pam_setcred()</tt> phase.

<!--
End of sgml insert for this module.
-->