c70e24ede5780bde54e6a98131c5ca7f67ede0b8
[openafs.git] / doc / man-pages / pod1 / pts_membership.pod.in
1 =head1 NAME
2
3 pts_membership - Displays the membership list for a user or group
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<pts membership> S<<< B<-nameorid> <I<user or group name or id>>+ >>>
11     [B<-supergroups>] [B<-expandgroups>] S<<< [B<-cell> <I<cell name>>] >>>
12     [B<-localauth>] [B<-noauth>] [B<-force>] [B<-help>]
13
14 B<pts m> S<<< B<-na> <I<user or group name or id>>+ >>>
15     [B<-s>] [B<-ex>] S<<< [B<-c> <I<cell name>>] >>>
16     [B<-no>] [B<-l>] [B<-f>] [B<-h>]
17
18 B<pts groups> S<<< B<-na> <I<user or group name or id>>+ >>>
19     [B<-s>] [B<-ex>] S<<< [B<-c> <I<cell name>>] >>>
20     [B<-no>] [B<-l>] [B<-f>] [B<-h>]
21
22 B<pts g> S<<< B<-na> <I<user or group name or id>>+ >>>
23     [B<-s>] [B<-ex>] S<<< [B<-c> <I<cell name>>] >>>
24     [B<-no>] [B<-l>] [B<-f>] [B<-h>]
25
26 =for html
27 </div>
28
29 =head1 DESCRIPTION
30
31 The B<pts membership> command lists the groups to which each user or
32 machine specified by the B<-nameorid> argument belongs, or lists the users
33 and machines that belong to each group specified by the B<-nameorid>
34 argument.
35
36 It is not possible to list the members of the system:anyuser or
37 system:authuser groups, and they do not appear in the list of groups to
38 which a user belongs.
39
40 To add users or machine to groups, use the B<pts adduser> command; to remove
41 them, use the B<pts removeuser> command.
42
43 =head1 OPTIONS
44
45 =over 4
46
47 =item B<-nameorid> <I<user or group name or id>>+
48
49 Specifies the name or AFS UID of each user entry, the IP address (complete
50 or wildcard-style) or AFS UID of each machine entry, or the name or AFS
51 GID of each group, for which to list group membership. It is acceptable to
52 mix users, machines, and groups on the same command line, as well as names
53 and IDs. Precede the GID of each group with a hyphen to indicate that it
54 is negative.
55
56 =item B<-supergroups>
57
58 List the groups to which each group specified by the B<-nameorid>
59 argument belongs, in addition to user and machine members. Group
60 membership may be nested when B<ptserver> is compiled with the
61 SUPERGROUPS option enabled.
62
63 =item B<-expandgroups>
64
65 Instead of listing only the groups in which the user or machine is a direct
66 member, list every group in which the user or machine belongs, including
67 membership due to nested groups, for each user or machine specified by
68 the B<-nameorid> argument.
69
70 Instead of listing groups which are members of a group, list every user and
71 machine which is a member of a group, including the users and machines which
72 are members due to nested groups, for each group specified by the B<-nameorid>
73 argument.
74
75 Group membership may be nested when B<ptserver> is compiled with the
76 SUPERGROUPS option enabled.
77
78 =include fragments/pts-common.pod
79
80 =back
81
82 =head1 OUTPUT
83
84 For each user and machine, the output begins with the following header
85 line, followed by a list of the groups to which the user or machine
86 belongs:
87
88    Groups <name> (id: <AFS UID>) is a member of:
89
90 For each group, the output begins with the following header line, followed
91 by a list of the users and machines who belong to the group:
92
93    Members of <group_name> (id: <AFS GID>) are:
94
95 =head1 EXAMPLES
96
97 The following example lists the groups to which the user C<pat> belongs
98 and the members of the group C<smith:friends>.  Note that third privacy
99 flag for the C<pat> entry was changed from the default hyphen to enable a
100 non-administrative user to obtain this listing.
101
102    % pts membership pat smith:friends
103    Groups pat (id: 1144) is a member of:
104      smith:friends
105      staff
106      johnson:project-team
107    Members of smith:friends (id: -562) are:
108      pat
109      terry
110      jones
111      richard
112      thompson
113
114 The following example shows how to list the groups to which nested groups
115 belong. In this example the group C<executives> is a member of the group
116 C<management> and the group C<management> is a member of the group C<staff>.
117 The group C<management> is called a supergroup of the group C<executives> and the
118 group C<staff> is called a supergroup of the group C<management>.
119
120    % pts membership executives
121    Members of executives (id: -208) are:
122      jane
123
124    % pts membership executives -supergroups
125    Members of executives (id: -208) are:
126      jane
127    Groups executives (id: -208) is a member of:
128      management
129
130    % pts membership management -supergroups
131    Members of management (id: -207) are:
132      executives
133      mary
134      sarah
135      carol
136    Groups management (id: -207) is a member of:
137       staff
138
139    % pts membership staff -supergroups
140    Members of staff (id: -206) are:
141      sales
142      marketing
143      engineering
144      management
145    Groups staff (id: -206) is a member of:
146
147 The following example shows how to find all the users which belong
148 to a group, including users of nested groups. In this example, the
149 user C<jane> is listed as an expanded member of the group C<management>
150 instead of the group C<executives>.
151
152    % pts membership management -expandgroups
153    Expanded Members of management (id: -207) are:
154      jane
155      mary
156      sarah
157      carol
158
159 The following example shows how to find all the groups a user
160 is a member of, including membership due to nested groups.  In
161 this example the user C<jane> is a direct member of the group
162 C<executives>. The C<-expandgroups> flag shows all the groups
163 to which C<jane> has membership status.
164
165    % pts membership jane
166    Groups jane (id: 7) is a member of:
167      executives
168
169    % pts membership jane -expandgroups
170    Expanded Groups jane (id: 7) is a member of:
171      staff
172      management
173      executives
174
175 =head1 PRIVILEGE REQUIRED
176
177 Members of the system:ptsviewers and system:administrators groups can
178 always use this command in any of its variations.  Additionally, a user
179 can always list the groups to which they belong, and the owner of a group
180 can always list the members of the group.
181
182 Additional privileges may be granted by the setting of the third privacy
183 flag in the Protection Database entry of each user or group indicated by
184 the B<-nameorid> argument (use the B<pts examine> command to display the
185 flags):
186
187 =over 4
188
189 =item *
190
191 If it is a hyphen, the default permissions described above apply.
192
193 =item *
194
195 If it is lowercase C<m> and the B<-nameorid> argument specifies a group,
196 then members of that group can also list the other members.  A privacy
197 flag of C<m> only changes the permissions when set for a group.  Setting
198 this flag for a user or a machine has no effect.
199
200 =item *
201
202 If it is uppercase C<M>, anyone who can access the cell's database server
203 machines can list the membership of the group or the groups to which that
204 user or machine belongs, depending on what type of entry the flag is set
205 on.
206
207 =back
208
209 =head1 SEE ALSO
210
211 L<pts(1)>,
212 L<pts_adduser(1)>,
213 L<pts_examine(1)>,
214 L<pts_removeuser(1)>,
215 L<pts_setfields(1)>
216
217 =head1 COPYRIGHT
218
219 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
220
221 This documentation is covered by the IBM Public License Version 1.0.  It was
222 converted from HTML to POD by software written by Chas Williams and Russ
223 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.