]> granicus.if.org Git - linux-pam/blob - doc/modules/pam_group.sgml
Relevant BUGIDs: 124388
[linux-pam] / doc / modules / pam_group.sgml
1 <!--
2    $Id$
3    
4    This file was written by Andrew G. Morgan <morgan@parc.power.net>
5 -->
6
7 <sect1>The group access module
8
9 <sect2>Synopsis
10
11 <p>
12 <descrip>
13
14 <tag><bf>Module Name:</bf></tag>
15 <tt/pam_group/
16
17 <tag><bf>Author:</bf></tag>
18 Andrew G. Morgan &lt;morgan@parc.power.net&gt;
19
20 <tag><bf>Maintainer:</bf></tag>
21 Author.
22
23 <tag><bf>Management groups provided:</bf></tag>
24 authentication
25
26 <tag><bf>Cryptographically sensitive:</bf></tag>
27         
28 <tag><bf>Security rating:</bf></tag>
29 Sensitive to <em/setgid/ status of file-systems accessible to users.
30
31 <tag><bf>Clean code base:</bf></tag>
32
33 <tag><bf>System dependencies:</bf></tag>
34 Requires an <tt>/etc/security/group.conf</tt> file. Can be compiled
35 with or without <tt/libpwdb/.
36
37 <tag><bf>Network aware:</bf></tag>
38 Only through correctly set <tt/PAM_TTY/ item.
39
40 </descrip>
41
42 <sect2>Overview of module
43
44 <p>
45 This module provides group-settings based on the user's name and the
46 terminal they are requesting a given service from. It takes note of
47 the time of day.
48
49 <sect2>Authentication component
50
51 <p>
52 <descrip>
53
54 <tag><bf>Recognized arguments:</bf></tag>
55
56 <tag><bf>Description:</bf></tag>
57
58 This module does not authenticate the user, but instead it grants
59 group memberships (in the credential setting phase of the
60 authentication module) to the user.  Such memberships are based on the
61 service they are applying for. The group memberships are listed in
62 text form in the <tt>/etc/security/group.conf</tt> file.
63
64 <tag><bf>Examples/suggested usage:</bf></tag>
65
66 For this module to function correctly there must be a correctly
67 formatted <tt>/etc/security/groups.conf</tt> file present. The format
68 of this file is as follows. Group memberships are given based on the
69 service application satisfying any combination of lines in the
70 configuration file. Each line (barring comments which are preceded by
71 `<tt/#/' marks) has the following
72 syntax:
73 <tscreen>
74 <verb>
75 services   ;   ttys   ;   users   ;   times   ;   groups
76 </verb>
77 </tscreen>
78 Here the first four fields share the syntax of the <tt>pam_time</tt>
79 configuration file; <tt>/etc/security/pam_time.conf</tt>, and the last
80 field, the <tt/groups/ field, is a comma (or space) separated list of
81 the text-names of a selection of groups. If the users application for
82 service satisfies the first four fields, the user is granted membership
83 of the listed groups.
84
85 <p>
86 As stated in above this module's usefulness relies on the file-systems
87 accessible to the user.  The point being that once granted the
88 membership of a group, the user may attempt to create a <em/setgid/
89 binary with a restricted group ownership.  Later, when the user is not
90 given membership to this group, they can recover group membership with
91 the precompiled binary.  The reason that the file-systems that the user
92 has access to are so significant, is the fact that when a system is
93 mounted <em/nosuid/ the user is unable to create or execute such a
94 binary file.  For this module to provide any level of security, all
95 file-systems that the user has write access to should be mounted
96 <em/nosuid/.
97
98 <p>
99 The <tt>pam_group</tt> module fuctions in parallel with the
100 <tt>/etc/group</tt> file. If the user is granted any groups based on
101 the behavior of this module, they are granted <em>in addition</em> to
102 those entries <tt>/etc/group</tt> (or equivalent).
103
104 </descrip>
105
106 <!--
107 End of sgml insert for this module.
108 -->