afsmonitor-document-stat-entries-correctly-20040729
[openafs.git] / doc / html / AdminGuide / auagd019.htm
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
2 <HTML><HEAD>
3 <TITLE>Administration Guide</TITLE>
4 <!-- Begin Header Records  ========================================== -->
5 <!-- /tmp/idwt3570/auagd000.scr converted by idb2h R4.2 (359) ID      -->
6 <!-- Workbench Version (AIX) on 2 Oct 2000 at 11:42:14                -->
7 <META HTTP-EQUIV="updated" CONTENT="Mon, 02 Oct 2000 11:42:13">
8 <META HTTP-EQUIV="review" CONTENT="Tue, 02 Oct 2001 11:42:13">
9 <META HTTP-EQUIV="expires" CONTENT="Wed, 02 Oct 2002 11:42:13">
10 </HEAD><BODY>
11 <!-- (C) IBM Corporation 2000. All Rights Reserved    --> 
12 <BODY bgcolor="ffffff"> 
13 <!-- End Header Records  ============================================ -->
14 <A NAME="Top_Of_Page"></A>
15 <H1>Administration Guide</H1>
16 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auagd002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auagd018.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Bot_Of_Page"><IMG SRC="../bot.gif" BORDER="0" ALT="[Bottom of Topic]"></A> <A HREF="auagd020.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auagd026.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
17 <HR><H1><A NAME="HDRWQ531" HREF="auagd002.htm#ToC_596">Administering the Protection Database</A></H1>
18 <P>This chapter explains how to create and maintain user,
19 machine, and group entries in the Protection Database.
20 <HR><H2><A NAME="HDRWQ532" HREF="auagd002.htm#ToC_597">Summary of Instructions</A></H2>
21 <P>This chapter explains how to perform the following tasks by
22 using the indicated commands:
23 <BR>
24 <TABLE WIDTH="100%">
25 <TR>
26 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display Protection Database entry
27 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
28 </TD></TR><TR>
29 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Map user, machine or group name to AFS ID
30 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
31 </TD></TR><TR>
32 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display entry's owner or creator
33 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
34 </TD></TR><TR>
35 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display number of users or machines belonging to group
36 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
37 </TD></TR><TR>
38 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display number of groups user or machine belongs to
39 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
40 </TD></TR><TR>
41 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display group-creation quota
42 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
43 </TD></TR><TR>
44 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display entry's privacy flags
45 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts examine</B>
46 </TD></TR><TR>
47 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display members of group, or groups that user or machine belongs to
48 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts membership</B>
49 </TD></TR><TR>
50 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display groups that user or group owns
51 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts listowned</B>
52 </TD></TR><TR>
53 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display all entries in Protection Database
54 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts listentries</B>
55 </TD></TR><TR>
56 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Create machine entry
57 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts createuser</B>
58 </TD></TR><TR>
59 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Create group entry
60 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts creategroup</B>
61 </TD></TR><TR>
62 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Add users and machines to groups
63 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts adduser</B>
64 </TD></TR><TR>
65 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Remove users and machines from groups
66 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts removeuser</B>
67 </TD></TR><TR>
68 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Delete machine or group entry
69 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts delete</B>
70 </TD></TR><TR>
71 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Change a group's owner
72 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts chown</B>
73 </TD></TR><TR>
74 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Change an entry's name
75 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts rename</B>
76 </TD></TR><TR>
77 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Set group creation quota
78 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts setfields</B>
79 </TD></TR><TR>
80 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Set entry's privacy flags
81 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts setfields</B>
82 </TD></TR><TR>
83 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Display AFS ID counters
84 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts listmax</B>
85 </TD></TR><TR>
86 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%">Set AFS ID counters
87 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><B>pts setmax</B>
88 </TD></TR></TABLE>
89 <P>
90 <A NAME="IDX7821"></A>
91 <A NAME="IDX7822"></A>
92 <A NAME="IDX7823"></A>
93 <A NAME="IDX7824"></A>
94 <A NAME="IDX7825"></A>
95 <A NAME="IDX7826"></A>
96 <A NAME="IDX7827"></A>
97 <A NAME="IDX7828"></A>
98 <A NAME="IDX7829"></A>
99 <A NAME="IDX7830"></A>
100 <HR><H2><A NAME="HDRWQ534" HREF="auagd002.htm#ToC_598">About the Protection Database</A></H2>
101 <P>The Protection Database stores information about AFS users,
102 client machines, and groups which the File Server process uses to determine
103 whether clients are authorized to access AFS data.
104 <P>To obtain authenticated access to an AFS cell, a user must have an entry in
105 the cell's Protection Database. The first time that a user
106 requests access to the data stored on a file server machine, the File Server
107 on that machine contacts the Protection Server to request the user's
108 <I>current protection subgroup</I> (<I>CPS</I>), which lists all the
109 groups to which the user belongs. The File Server scans the access
110 control list (ACL) of the directory that houses the data, looking for groups
111 on the CPS. It grants access in accordance with the permissions that
112 the ACL extends to those groups or to the user individually. (The File
113 Server stores the CPS and uses it as long as the user has the same
114 tokens. When a user's group membership changes, he or she must
115 reauthenticate for the File Server to recognize the change.)
116 <P>Only administrators who belong to the cell's
117 <B>system:administrators</B> group can create user entries (the
118 group is itself defined in the Protection Database, as discussed in <A HREF="#HDRWQ535">The System Groups</A>). Members of the
119 <B>system:administrators</B> group can also create machine entries,
120 which can then be used to control access based on the machine from which the
121 access request originates. After creating a machine entry, add it to a
122 Protection Database group and place the group on ACLs (a machine cannot appear
123 on ACLs directly). A machine entry can represent a single machine or
124 multiple machines with consecutive IP addresses as specified by a wildcard
125 notation. For instructions, see <A HREF="#HDRWQ542">Creating User and Machine Entries</A>. Because all replicas of a volume share the same ACL
126 (the one on the volume's root directory mount point), machine entries
127 enable you to replicate the volume that houses a program's binary file
128 while still complying with a machine-based license agreement as required by
129 the program's manufacturer. See <A HREF="#HDRWQ542">Creating User and Machine Entries</A>.
130 <P>A group entry is a list of user entries, machine entries, or both (groups
131 cannot belong to other groups). Putting a group on an ACL is a
132 convenient way to extend or deny access to a set of users without listing them
133 on the ACL individually. Similarly, adding users to a group
134 automatically grants them access to all files and directories for which the
135 associated ACL lists that group. Both administrators and regular users
136 can create groups.
137 <A NAME="IDX7831"></A>
138 <A NAME="IDX7832"></A>
139 <A NAME="IDX7833"></A>
140 <A NAME="IDX7834"></A>
141 <A NAME="IDX7835"></A>
142 <A NAME="IDX7836"></A>
143 <P><H3><A NAME="HDRWQ535" HREF="auagd002.htm#ToC_599">The System Groups</A></H3>
144 <P>In addition to the groups that users and administrators can
145 create, AFS defines the following three system groups. The Protection
146 Server creates them automatically when it builds the first version of a
147 cell's Protection Database, and always assigns them the same AFS
148 GIDs.
149 <DL>
150 <P><DT><B>system:anyuser
151 </B><DD>Represents all users able to access the cell's filespace from the
152 local and foreign cells, authenticated or not. Its AFS GID is
153 <B>-101</B>. The group has no stable membership listed in the
154 Protection Database. Accordingly, the <B>pts examine</B> command
155 displays <B>0</B> in its <TT>membership</TT> field, and the <B>pts
156 membership</B> command does not list any members for it.
157 <P>Placing this group on an ACL is a convenient way to extend access to all
158 users. The File Server automatically places this group on the CPS of
159 any user who requests access to data stored on a file server machine.
160 (Every unauthenticated user is assigned the identity <B>anonymous</B> and
161 this group is the only entry on the CPS for <B>anonymous</B>.)
162 <P><DT><B>system:authuser
163 </B><DD>Represents all users who are able to access the cell's filespace from
164 the local and foreign cells and who have successfully obtained an AFS token in
165 the local cell (are authenticated). Its AFS GID is
166 <B>-102</B>. Like the <B>system:anyuser</B> group, it has
167 no stable membership listed in the Protection Database. Accordingly,
168 the <B>pts examine</B> command displays <B>0</B> in its
169 <TT>membership</TT> field, and the <B>pts membership</B> command does
170 not list any members for it.
171 <P>Placing this group on an ACL is therefore a convenient way to extend access
172 to all authenticated users. The File Server automatically places this
173 group on the CPS of any authenticated user who requests access to data stored
174 on a file server machine.
175 <P><DT><B>system:administrators
176 </B><DD>Represents the small number of cell administrators authorized to issue
177 privileged <B>pts</B> commands and the <B>fs</B> commands that set
178 quota. The ACL on the root directory of every newly created volume
179 grants all permissions to the group. Even if you remove that entry, the
180 group implicitly retains the <B>a</B> (<B>administer</B>), and by
181 default also the <B>l</B> (<B>lookup</B>), permission on every
182 ACL. Its AFS GID is <B>-204</B>. For instructions on
183 administering this group, see <A HREF="auagd021.htm#HDRWQ586">Administering the system:administrators Group</A>.
184 </DL>
185 <HR><H2><A NAME="HDRWQ536" HREF="auagd002.htm#ToC_600">Displaying Information from the Protection Database</A></H2>
186 <P>This section describes the commands you can use to display
187 Protection Database entries and associated information. In addition to
188 name and AFS ID, the Protection Database stores the following information
189 about each user, machine, or group entry.
190 <UL>
191 <P><LI>The entry's owner, which is the user or group of users who can
192 administer the entry
193 <P><LI>The entry's creator, which serves mostly as an audit trail
194 <P><LI>A membership count, which indicates how many groups a user or machine
195 belongs to, or how many members belong to a group
196 <P><LI>A set of privacy flags, which control which users can administer or
197 display information about the entry
198 <P><LI>A group-creation quota, which defines how many groups a user can create
199 <P><LI>A list of the groups to which a user or machine belongs, or of the users
200 and machines that belong to a group
201 <P><LI>A list of the groups that a user or group owns
202 </UL>
203 <A NAME="IDX7837"></A>
204 <A NAME="IDX7838"></A>
205 <A NAME="IDX7839"></A>
206 <A NAME="IDX7840"></A>
207 <A NAME="IDX7841"></A>
208 <A NAME="IDX7842"></A>
209 <A NAME="IDX7843"></A>
210 <A NAME="IDX7844"></A>
211 <A NAME="IDX7845"></A>
212 <A NAME="IDX7846"></A>
213 <A NAME="IDX7847"></A>
214 <A NAME="IDX7848"></A>
215 <A NAME="IDX7849"></A>
216 <A NAME="IDX7850"></A>
217 <A NAME="IDX7851"></A>
218 <A NAME="IDX7852"></A>
219 <A NAME="IDX7853"></A>
220 <A NAME="IDX7854"></A>
221 <A NAME="IDX7855"></A>
222 <A NAME="IDX7856"></A>
223 <A NAME="IDX7857"></A>
224 <A NAME="IDX7858"></A>
225 <A NAME="IDX7859"></A>
226 <A NAME="IDX7860"></A>
227 <A NAME="IDX7861"></A>
228 <A NAME="IDX7862"></A>
229 <A NAME="IDX7863"></A>
230 <A NAME="IDX7864"></A>
231 <A NAME="IDX7865"></A>
232 <A NAME="IDX7866"></A>
233 <A NAME="IDX7867"></A>
234 <A NAME="IDX7868"></A>
235 <A NAME="IDX7869"></A>
236 <A NAME="IDX7870"></A>
237 <A NAME="IDX7871"></A>
238 <A NAME="IDX7872"></A>
239 <A NAME="IDX7873"></A>
240 <A NAME="IDX7874"></A>
241 <P><H3><A NAME="HDRWQ537" HREF="auagd002.htm#ToC_601">To display a Protection Database entry</A></H3>
242 <OL TYPE=1>
243 <P><LI>Verify that you belong to the <B>system:administrators</B>
244 group, which enables you to display an entry regardless of the setting of its
245 first (<B>s</B>) privacy flag. By default, any user can display a
246 Protection Database entry. If necessary, issue the <B>pts
247 membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
248 <PRE>   % <B>pts membership system:administrators</B>
249    
250 </PRE>
251 <P><LI>Issue the <B>pts examine</B> command to display one or more Protection
252 Database entries. 
253 <PRE>   % <B>pts examine</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP>
254 </PRE> 
255 <P>where 
256 <DL>
257 <P><DT><B>e
258 </B><DD>Is the shortest acceptable abbreviation of <B>examine</B> (and
259 <B>check</B> is an alias).
260 <P><DT><B><VAR>user or group name or id</VAR>
261 </B><DD>Specifies the name or AFS ID of each entry to display. Precede any
262 AFS GID with a hyphen (<B>-</B>) because it is a negative integer.
263 </DL>
264 </OL>
265 <P>The output includes the following fields. Examples follow.
266 <DL>
267 <P><DT><B><TT>Name</TT>
268 </B><DD>Specifies the entry's name.
269 <UL>
270 <P><LI>For a user, this is the name used when authenticating with AFS and the
271 name that appears on ACL entries.
272 <P><LI>For a machine, this is the IP address of a single machine, or a wildcard
273 notation that represents a group of machines with consecutive IP addresses, as
274 described in <A HREF="#HDRWQ542">Creating User and Machine Entries</A>.
275 <P><LI>For a group, this is the name that appears on ACL entries and in the list
276 of groups output by the <B>pts membership</B> command. The names of
277 <I>regular</I> groups have two parts, separated by a colon
278 (<B>:</B>). The part before the colon indicates the
279 group's owner, and the part after is the unique name. A
280 <I>prefix-less</I> group's name does not have the owner prefix;
281 only members of the <B>system:administrators</B> group can create
282 prefix-less groups. For further discussion of group names, see <A HREF="#HDRWQ544">Creating Groups</A>.
283 </UL>
284 <A NAME="IDX7875"></A>
285 <A NAME="IDX7876"></A>
286 <A NAME="IDX7877"></A>
287 <P><DT><B><TT>id</TT>
288 </B><DD>Specifies the entry's unique AFS identification number. For
289 user and machine entries, the AFS user ID (AFS UID) is a positive
290 integer; for groups, the AFS group ID (AFS GID) is a negative
291 integer. AFS UIDs and GIDs have the same function as their counterparts
292 in the UNIX file system, but are used by the AFS servers and the Cache Manager
293 only. 
294 <P>Normally, the Protection Server assigns an AFS UID or GID automatically
295 when you create Protection Database entries. Members of the
296 <B>system:administrators</B> group can specify an ID if
297 desired. For further discussion, see <A HREF="#HDRWQ542">Creating User and Machine Entries</A> and <A HREF="#HDRWQ544">Creating Groups</A>.
298 <P><DT><B><TT>owner</TT>
299 </B><DD>Names the user or group who owns the entry and therefore can administer it
300 (for more information about a group owning another group, see <A HREF="#HDRWQ545">Using Groups Effectively</A>). Other users possibly have administrative
301 privileges, too, depending on the setting of the entry's privacy
302 flags. For instructions on changing the owner, see <A HREF="#HDRWQ554">Changing a Group's Owner</A>.
303 <P><DT><B><TT>creator</TT>
304 </B><DD>Names the user who created the entry, and serves as an audit trail.
305 If the entry is deleted from the Protection Database, the creator's group
306 creation quota increases by one, even if the creator no longer owns the
307 entry; see <A HREF="#HDRWQ558">Setting Group-Creation Quota</A>. 
308 <P>The value <TT>anonymous</TT> in this field generally indicates that the
309 entry was created when the Protection Server was running in no-authentication
310 mode, probably during initial configuration of the cell's first file
311 server machine. For a description of no-authentication mode, see <A HREF="auagd008.htm#HDRWQ123">Managing Authentication and Authorization Requirements</A>.
312 <P><DT><B><TT>membership</TT>
313 </B><DD>Specifies the number of groups to which the user or machine belongs, or
314 the number of users or machines that belong to the group.
315 <P><DT><B><TT>flags</TT>
316 </B><DD>Specifies who can display or change information in a Protection Database
317 entry. The five flags, each representing a different capability, always
318 appear in the same order. 
319 <UL>
320 <P><LI>For user entries, the default value is <TT>S----</TT>, which indicates
321 that anyone can issue the <B>pts examine</B> command on the entry, but
322 only the user and members of the <B>system:administrators</B> group
323 can perform any other action.
324 <P><LI>For machine entries, the default value is <TT>S----</TT>, which
325 indicates that anyone can issue the <B>pts examine</B> command on the
326 entry, but only members of the <B>system:administrators</B> group
327 can perform any other action.
328 <P><LI>For group entries, the default value is <TT>S-M--</TT>, which indicates
329 that anyone can issue the <B>pts examine</B> and <B>pts membership</B>
330 commands on the entry, but only the group's owner and members of the
331 <B>system:administrators</B> group can perform any other
332 action.
333 </UL>
334 <P>For a complete description of possible values for the flags, see <A HREF="#HDRWQ559">Setting the Privacy Flags on Database Entries</A>.
335 <P><DT><B><TT>group quota</TT>
336 </B><DD>Specifies how many more groups a user can create in the Protection
337 Database. The value for a newly created user entry is 20, but members
338 of the <B>system:administrators</B> group can issue the <B>pts
339 setfields</B> command at any time to change the value; see <A HREF="#HDRWQ558">Setting Group-Creation Quota</A>. 
340 <P>Group creation quota has no meaning for a machine or group entry: the
341 Protection Server recognizes the issuer of the <B>pts creategroup</B>
342 command only as an authenticated user or as the <B>anonymous</B> user,
343 never as a machine or group. The default value for group entries is 0
344 (zero), and there is no reason to change it.
345 </DL>
346 <P>The following examples show the output for a user called <B>pat</B>, a
347 machine with IP address <B>192.12.108.133</B> and a
348 group called <B>terry:friends</B>:
349 <PRE>   % <B>pts examine pat</B>
350    Name: pat, id: 1020, owner: system:administrators, creator: admin,
351      membership: 12, flags: S----, group quota: 15.
352    % <B>pts ex 192.12.108.133</B>
353    Name: 192.12.108.133, id: 5151, owner: system:administrators, creator: admin,
354      membership: 1, flags: S----, group quota: 20.
355    % <B>pts examine terry:friends</B>
356    Name: terry:friends, id: -567, owner: terry, creator: terry,
357      membership: 12, flags: SOm--, group quota: 0.
358 </PRE>
359 <A NAME="IDX7878"></A>
360 <A NAME="IDX7879"></A>
361 <A NAME="IDX7880"></A>
362 <A NAME="IDX7881"></A>
363 <A NAME="IDX7882"></A>
364 <A NAME="IDX7883"></A>
365 <A NAME="IDX7884"></A>
366 <A NAME="IDX7885"></A>
367 <A NAME="IDX7886"></A>
368 <P><H3><A NAME="HDRWQ538" HREF="auagd002.htm#ToC_602">To display group membership</A></H3>
369 <OL TYPE=1>
370 <P><LI>Verify that you belong to the <B>system:administrators</B>
371 group, which enables you to display an entry's group membership
372 information regardless of the setting of its third (<B>m</B>) privacy
373 flag. By default the owner and the user can display group membership
374 for a user entry, the owner for a machine entry, and anyone for a group
375 entry. If necessary, issue the <B>pts membership</B> command, which
376 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
377 <PRE>   % <B>pts membership system:administrators</B>
378    
379 </PRE>
380 <P><LI><A NAME="LIWQ539"></A>Issue the <B>pts membership</B> command to display the list
381 of groups to which a user or machine belongs, or the list of users and
382 machines that belong to a group. 
383 <PRE>   % <B>pts membership</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP>
384 </PRE> 
385 <P>where 
386 <DL>
387 <P><DT><B>m
388 </B><DD>Is the shortest acceptable abbreviation of <B>membership</B>.
389 <P><DT><B><VAR>user or group name or id</VAR>
390 </B><DD>Specifies the name or AFS UID of each user or machine for which to list
391 the groups it belongs to, or the name or AFS GID of each group for which to
392 list the members.
393 </DL>
394 </OL>
395 <P>For user and machine entries, the output begins with the following string,
396 and then each group appears on its own line:
397 <PRE>   Groups <VAR>user_or_machine</VAR> (id: <VAR>AFS_UID</VAR>) is a member of:
398 </PRE>
399 <P>For group entries, the output begins with the following string, and then
400 each member appears on its own line:
401 <PRE>   Members of <VAR>group</VAR> (id: <VAR>AFS_GID</VAR>) are:
402 </PRE>
403 <P>For the system groups <B>system:anyuser</B> and
404 <B>system:authuser</B>, the output includes the initial header
405 string only, because these groups do not have a stable membership listed in
406 their Protection Database entry. See <A HREF="#HDRWQ535">The System Groups</A>.
407 <P>The following examples show the output for a user called <B>terry</B>
408 and a group called <B>terry:friends</B>:
409 <PRE>   % <B>pts mem terry</B>
410    Groups terry (id: 5347) is a member of:
411      pat:friends
412      sales
413      acctg:general
414    % <B>pts mem terry:friends</B>
415    Members of terry:friends (id: -567) are:
416      pat
417      smith
418      johnson
419 </PRE>
420 <A NAME="IDX7887"></A>
421 <A NAME="IDX7888"></A>
422 <A NAME="IDX7889"></A>
423 <A NAME="IDX7890"></A>
424 <A NAME="IDX7891"></A>
425 <A NAME="IDX7892"></A>
426 <A NAME="IDX7893"></A>
427 <A NAME="IDX7894"></A>
428 <P><H3><A NAME="HDRWQ540" HREF="auagd002.htm#ToC_603">To list the groups that a user or group owns</A></H3>
429 <OL TYPE=1>
430 <P><LI>Verify that you belong to the <B>system:administrators</B>
431 group, which enables you to display an entry's group ownership
432 information regardless of the setting of its second (<B>o</B>) privacy
433 flag. By default the owner can list the groups owned by group, and a
434 user the groups he or she owns. If necessary, issue the <B>pts
435 membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
436 <PRE>   % <B>pts membership system:administrators</B>
437    
438 </PRE>
439 <P><LI>Issue the <B>pts listowned</B> command to list the groups owned by
440 each user or group. 
441 <PRE>   % <B>pts listowned</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP>
442 </PRE> 
443 <P>where 
444 <DL>
445 <P><DT><B>listo
446 </B><DD>Is the shortest acceptable abbreviation of <B>listowned</B>.
447 <P><DT><B><VAR>user or group name or id</VAR>
448 </B><DD>Specifies the name or AFS UID of each user, or the name or AFS GID or each
449 group, for which to list the groups owned.
450 </DL>
451 </OL>
452 <P>The output begins with the following string, and then each group appears on
453 its own line:
454 <PRE>   Groups owned by <VAR>user_or_group</VAR> (id: <VAR>AFS_ID</VAR>) are:
455 </PRE>
456 <P>The following examples show the output for a user called <B>terry</B>
457 and a group called <B>terry:friends</B>:
458 <PRE>   % <B>pts listo terry</B> 
459    Groups owned by terry (id: 5347) are:  
460      terry:friends   
461      terry:co-workers
462    % <B>pts listo terry:friends</B>
463    Groups owned by terry:friends (id: -567) are:
464      terry:pals
465      terry:buddies
466 </PRE>
467 <A NAME="IDX7895"></A>
468 <A NAME="IDX7896"></A>
469 <A NAME="IDX7897"></A>
470 <A NAME="IDX7898"></A>
471 <A NAME="IDX7899"></A>
472 <A NAME="IDX7900"></A>
473 <A NAME="IDX7901"></A>
474 <A NAME="IDX7902"></A>
475 <A NAME="IDX7903"></A>
476 <A NAME="IDX7904"></A>
477 <A NAME="IDX7905"></A>
478 <A NAME="IDX7906"></A>
479 <A NAME="IDX7907"></A>
480 <A NAME="IDX7908"></A>
481 <A NAME="IDX7909"></A>
482 <A NAME="IDX7910"></A>
483 <A NAME="IDX7911"></A>
484 <A NAME="IDX7912"></A>
485 <P><H3><A NAME="HDRWQ541" HREF="auagd002.htm#ToC_604">To display all Protection Database entries</A></H3>
486 <OL TYPE=1>
487 <P><LI>Verify that you belong to the <B>system:administrators</B>
488 group. If necessary, issue the <B>pts membership</B> command, which
489 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
490 <PRE>   % <B>pts membership system:administrators</B>
491    
492 </PRE>
493 <P><LI>Issue the <B>pts listentries</B> command to display all Protection
494 Database entries. 
495 <PRE>   % <B>pts listentries</B> [<B>-users</B>] [<B>-groups</B>]
496 </PRE> 
497 <P>where 
498 <DL>
499 <P><DT><B>liste
500 </B><DD>Is the shortest acceptable abbreviation of <B>listentries</B>.
501 <P><DT><B>-users
502 </B><DD>Displays user and machine entries. The same output results if you
503 omit both this flag and the <B>-groups</B> flag.
504 <P><DT><B>-groups
505 </B><DD>Displays group entries.
506 </DL>
507 </OL>
508 <P>The output is a table that includes the following columns. Examples
509 follow.
510 <DL>
511 <P><DT><B><TT>Name</TT>
512 </B><DD>Specifies the entry's name.
513 <P><DT><B><TT>ID</TT>
514 </B><DD>Specifies the entry's AFS identification number. For user and
515 machine entries, the AFS user ID (AFS UID) is a positive integer; for
516 groups, the AFS group ID (AFS GID) is a negative integer.
517 <P><DT><B><TT>Owner</TT>
518 </B><DD>Specifies the AFS ID of the user or group who owns the entry and therefore
519 can administer it.
520 <P><DT><B><TT>Creator</TT>
521 </B><DD>Specifies the AFS UID of the user who created the entry.
522 </DL>
523 <P>The following example is from the ABC Corporation cell. The issuer
524 provides no options, so the output includes user and machine entries. 
525 <PRE>   % <B>pts listentries</B>
526    Name                          ID  Owner Creator
527    anonymous                  32766   -204    -204 
528    admin                          1   -204   32766 
529    pat                         1000   -204       1 
530    terry                       1001   -204       1 
531    smith                       1003   -204       1 
532    jones                       1004   -204       1 
533    192.12.105.33               2000   -204       1 
534    192.12.105.46               2001   -204       1 
535 </PRE>
536 <A NAME="IDX7913"></A>
537 <A NAME="IDX7914"></A>
538 <A NAME="IDX7915"></A>
539 <A NAME="IDX7916"></A>
540 <A NAME="IDX7917"></A>
541 <HR><H2><A NAME="HDRWQ542" HREF="auagd002.htm#ToC_605">Creating User and Machine Entries</A></H2>
542 <P>An entry in the Protection Database is one of the two
543 required components of every AFS user account, along with an entry in the
544 Authentication Database. It is best to create a Protection Database
545 user entry only in the context of creating a complete user account, by using
546 the <B>uss add</B> or <B>uss bulk</B> command as described in <A HREF="auagd017.htm#HDRWQ449">Creating and Deleting User Accounts with the uss Command Suite</A>, or the <B>pts createuser</B> command as described in <A HREF="auagd018.htm#HDRWQ502">Creating AFS User Accounts</A>.
547 <P>You can also use the <B>pts createuser</B> command to create Protection
548 Database machine entries, which can then be used to control access based on
549 the machine from which the access request originates. After creating a
550 machine entry, add it to a Protection Database group and place the group on
551 ACLs ( a machine cannot appear on ACLs directly). Because all replicas
552 of a volume share the same ACL (the one on the volume's root directory
553 mount point), you can replicate the volume that houses a program's binary
554 file while still complying with a machine-based license agreement as required
555 by the program's manufacturer. If you do not place any other
556 entries on the ACL, then only users working on the designated machines can
557 access the file.
558 <P>Keep in mind that creating an ACL entry for a group with machine entries in
559 it extends access to both authenticated and unauthenticated users working on
560 the machine. However, you can deny access to unauthenticated users by
561 omitting an entry for the <B>system:anyuser</B> group from the ACLs
562 of the parent directories in the file's pathname. Conversely, if
563 you want to enable unauthenticated users on the machine to access a file, then
564 the ACL on every directory leading to it must include an entry for either the
565 <B>system:anyuser</B> group or a group to which the machine entry
566 belongs. For more information on the <B>system:anyuser</B>
567 group, see <A HREF="#HDRWQ535">The System Groups</A>.
568 <P>Because a machine entry can include unauthenticated users, it is best not
569 to add both machine entries and user entries to the same group. In
570 general, it is easier to use and administer nonmixed groups. A machine
571 entry can represent a single machine, or multiple machines with consecutive IP
572 addresses (that is, all machines on a network or subnet) specified by a
573 wildcard notation. See the instructions in <A HREF="#HDRWQ543">To create machine entries in the Protection Database</A>.
574 <P>By default, the Protection Server assigns the next available AFS UID to a
575 new user or machine entry. It is best to allow this, especially for
576 machine entries. For user entries, it makes sense to assign an AFS UID
577 only if the user already has a UNIX UID that the AFS UID needs to match (see <A HREF="auagd018.htm#HDRWQ496">Assigning AFS and UNIX UIDs that Match</A>). When automatically allocating an AFS UID, the
578 Protection Server increments the <TT>max user id</TT> counter by one and
579 assigns the result to the new entry. Use the <B>pts listmax</B>
580 command to display the counter, as described in <A HREF="#HDRWQ560">Displaying and Setting the AFS UID and GID Counters</A>.
581 <A NAME="IDX7918"></A>
582 <P>Do not reuse the AFS UIDs of users who have left your cell permanently or
583 machine entries you have removed, even though doing so seems to avoid the
584 apparent waste of IDs. When you remove a user or machine entry from the
585 Protection Database, the <B>fs listacl</B> command displays the AFS UID
586 associated with the former entry, rather than the name. If you then
587 assign the AFS UID to a new user or machine, the new user or machine
588 automatically inherits permissions that were granted to the previous possessor
589 of the ID. To remove obsolete AFS UIDs from ACLs, use the <B>fs
590 cleanacl</B> command described in <A HREF="auagd020.htm#HDRWQ579">Removing Obsolete AFS IDs from ACLs</A>.
591 <P>In addition to the name and AFS UID, the Protection Server records the
592 following values in the indicated fields of a new user or machine's
593 entry. For more information and instructions on displaying an entry,
594 see <A HREF="#HDRWQ537">To display a Protection Database entry</A>.
595 <UL>
596 <P><LI>It sets the <TT>owner</TT> field to the
597 <B>system:administrators</B> group, indicating that the group's
598 members administer the entry.
599 <P><LI>It sets the <TT>creator</TT> field to the username of the user who
600 issued the <B>pts createuser</B> command (or the <B>uss add</B> or
601 <B>uss bulk</B> command).
602 <P><LI>It sets the <TT>membership</TT> field to <B>0</B> (zero), because
603 the new entry does not yet belong to any groups.
604 <P><LI>It sets the <TT>flags</TT> field to <B>S----</B>; for
605 explanation, see <A HREF="#HDRWQ559">Setting the Privacy Flags on Database Entries</A>.
606 <P><LI>It sets the <TT>group quota</TT> field to <B>20</B>, meaning that
607 the new user can create 20 groups. This field has no meaning for
608 machine entries. For further discussion, see <A HREF="#HDRWQ558">Setting Group-Creation Quota</A>.
609 </UL>
610 <A NAME="IDX7919"></A>
611 <A NAME="IDX7920"></A>
612 <P><H3><A NAME="HDRWQ543" HREF="auagd002.htm#ToC_606">To create machine entries in the Protection Database</A></H3>
613 <OL TYPE=1>
614 <P><LI>Verify that you belong to the <B>system:administrators</B>
615 group. If necessary, issue the <B>pts membership</B> command, which
616 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
617 <PRE>   % <B>pts membership system:administrators</B>
618    
619 </PRE>
620 <P><LI>Issue the <B>pts createuser</B> command to create one or more machine
621 entries. 
622 <PRE>   % <B>pts createuser -name</B> &lt;<VAR>user&nbsp;name</VAR>><SUP>+</SUP> 
623 </PRE> 
624 <P>where 
625 <DL>
626 <P><DT><B>cu
627 </B><DD>Is an alias for <B>createuser</B> (and <B>createu</B> is the
628 shortest acceptable abbreviation).
629 <P><DT><B>-name
630 </B><DD>Specifies an IP address in dotted-decimal notation for each machine
631 entry. An entry can represent a single machine or a set of several
632 machines with consecutive IP addresses, using the wildcard notation described
633 in the following list. The letters <B>W</B>, <B>X</B>,
634 <B>Y</B>, and <B>Z</B> each represent an actual number value in the
635 field: 
636 <UL>
637 <P><LI><B>W.X.Y.Z</B> represents a single machine, for
638 example <B>192.12.108.240</B>.
639 <P><LI><B>W.X.Y.0</B> matches all machines whose IP
640 addresses start with the first three numbers. For example,
641 <B>192.12.108.0</B> matches both
642 <B>192.12.108.119</B> and
643 <B>192.12.108.120</B>, but does not match
644 <B>192.12.105.144</B>.
645 <P><LI><B>W.X.0.0</B> matches all machines whose IP
646 addresses start with the first two numbers. For example, the address
647 <B>192.12.0.0</B> matches both
648 <B>192.12.106.23</B> and
649 <B>192.12.108.120</B>, but does not match
650 <B>192.5.30.95</B>.
651 <P><LI><B>W.0.0.0</B> matches all machines whose IP
652 addresses start with the first number in the specified address. For
653 example, the address <B>192.0.0.0</B> matches both
654 <B>192.5.30.95</B> and
655 <B>192.12.108.120</B>, but does not match
656 <B>138.255.63.52</B>.
657 </UL>
658 <P>Do not define a machine entry with the name
659 <B>0.0.0.0</B> to match every machine. The
660 <B>system:anyuser</B> group is equivalent.
661 </DL>
662 </OL>
663 <P>The following example creates a machine entry that includes all of the
664 machines in the <B>192.12</B> network.
665 <PRE>   % <B>pts cu 192.12.0.0</B>
666 </PRE>
667 <A NAME="IDX7921"></A>
668 <A NAME="IDX7922"></A>
669 <A NAME="IDX7923"></A>
670 <A NAME="IDX7924"></A>
671 <A NAME="IDX7925"></A>
672 <A NAME="IDX7926"></A>
673 <A NAME="IDX7927"></A>
674 <A NAME="IDX7928"></A>
675 <A NAME="IDX7929"></A>
676 <HR><H2><A NAME="HDRWQ544" HREF="auagd002.htm#ToC_607">Creating Groups</A></H2>
677 <P>Before you can add members to a group, you must create the
678 group entry itself. The instructions in this section explain how to
679 create both regular and prefix-less groups:
680 <UL>
681 <P><LI>A <I>regular group</I>'s name is preceded by a prefix that
682 indicates who owns the group, in the following format: 
683 <P><VAR>owner_name</VAR><B>:</B><VAR>group_name</VAR> 
684 <P>Any user can create a regular group. Group names must always be
685 typed in full, so a short <VAR>group_name</VAR> that indicates the group's
686 purpose or its members' common interest is practical. Groups with
687 names like <B>terry:1</B> and <B>terry:2</B> are less
688 useful because their purpose is unclear. For more details on the
689 required format for regular group names, see the instructions in <A HREF="#HDRWQ546">To create groups</A>.
690 <P><LI>A <I>prefix-less group</I>, as its name suggests, has only one field
691 in its name, equivalent to a regular group's <VAR>group_name</VAR>
692 field. 
693 <P>Only members of the <B>system:administrators</B> group can create
694 prefix-less groups. For a discussion of their purpose, see <A HREF="#HDRWQ548">Using Prefix-Less Groups</A>.
695 </UL>
696 <P>By default, the Protection Server assigns the next available AFS GID to a
697 new group entry, and it is best to allow this. When automatically
698 allocating an AFS GID (which is a negative integer), the Protection Server
699 decrements the <TT>max group id</TT> counter by one and assigns the result
700 to the new group. Use the <B>pts listmax</B> command to display the
701 counter, as described in <A HREF="#HDRWQ560">Displaying and Setting the AFS UID and GID Counters</A>.
702 <P>In addition to the name and AFS GID, the Protection Server records the
703 following values in the indicated fields of a new group's entry.
704 See <A HREF="#HDRWQ537">To display a Protection Database entry</A>.
705 <UL>
706 <P><LI>It sets the <TT>owner</TT> field to the issuer of the <B>pts
707 creategroup</B> command, or to the user or group specified by the
708 <B>-owner</B> argument.
709 <P><LI>It sets the <TT>creator</TT> field to the username of the user who
710 issued the <B>pts creategroup</B> command.
711 <P><LI>It sets the <TT>membership</TT> field to <B>0</B> (zero), because
712 the group currently has no members.
713 <P><LI>It sets the <TT>flags</TT> field to <B>S-M--</B>; for
714 explanation, see <A HREF="#HDRWQ559">Setting the Privacy Flags on Database Entries</A>.
715 <P><LI>It sets the <TT>group quota</TT> field to <B>0</B>, because this
716 field has no meaning for group entries.
717 </UL>
718 <A NAME="IDX7930"></A>
719 <A NAME="IDX7931"></A>
720 <A NAME="IDX7932"></A>
721 <A NAME="IDX7933"></A>
722 <A NAME="IDX7934"></A>
723 <A NAME="IDX7935"></A>
724 <A NAME="IDX7936"></A>
725 <A NAME="IDX7937"></A>
726 <P><H3><A NAME="HDRWQ545" HREF="auagd002.htm#ToC_608">Using Groups Effectively</A></H3>
727 <P>The main reason to create groups is to place them on ACLs,
728 which enables you to control access for multiple users without having to list
729 them individually on the ACL. There are three basic ways to use groups,
730 each suited to a different purpose:
731 <UL>
732 <P><LI><I>Private use</I>: you create a group and place it on the ACL
733 of directories you own, without necessarily informing the group's members
734 that they belong to it. Members notice only that they can or cannot
735 access the directory in a certain way. You retain sole administrative
736 control over the group, since you are the owner.
737 <P>The existence of the group and the identity of its members is not
738 necessarily secret. Other users can use the <B>fs listacl</B>
739 command and see the group's name on a directory's ACL, or use the
740 <B>pts membership</B> command to list the groups they themselves belong
741 to. You can set the group's third privacy flag to limit who can
742 use the <B>pts membership</B> command to list the group's membership,
743 but a member of the <B>system:administrators</B> group always
744 can; see <A HREF="#HDRWQ559">Setting the Privacy Flags on Database Entries</A>.
745 <P><LI><I>Shared use</I>: you inform the group's members that they
746 belong to the group, but you still remain the sole administrator. For
747 example, the manager of a work group can create a group of all the members in
748 the work group, and encourage them to use it on the ACLs of directories that
749 house information they want to share with other members of the group. 
750 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you place a group owned by someone else on your ACLs, the group's
751 owner can change the group's membership without informing you.
752 Someone new can gain or lose access in a way you did not intend and without
753 your knowledge.
754 </TD></TR></TABLE>
755 <P><LI><I>Group use</I>: you create a group and then use the <B>pts
756 chown</B> command to assign ownership to a group, either another group or
757 the group itself (the latter type is a <I>self-owned</I> group).
758 You inform the members of the owning group that they all can administer the
759 owned group. 
760 <P>The main advantage of designating a group as an owner is that it spreads
761 responsibility for administering a group among several people. A single
762 person does not have to perform all administrative tasks, and if the original
763 creator leaves the group, ownership does not have to be transferred.
764 <P>However, everyone in the owner group can make changes that affect others
765 negatively, such as adding or removing people from the group inappropriately
766 or changing the group's ownership to themselves exclusively. These
767 problems can be particularly sensitive in a self-owned group. Using an
768 owner group works best if all the members know and trust each other; it
769 is probably wise to keep the number of people in an owner group small.
770 </UL>
771 <A NAME="IDX7938"></A>
772 <A NAME="IDX7939"></A>
773 <P><H3><A NAME="HDRWQ546" HREF="auagd002.htm#ToC_609">To create groups</A></H3>
774 <OL TYPE=1>
775 <P><LI>If creating a prefix-less group, verify that you belong to the
776 <B>system:administrators</B> group. If necessary, issue the
777 <B>pts membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
778 <PRE>   % <B>pts membership system:administrators</B>
779    
780 </PRE>
781 <P><LI>Issue the <B>pts creategroup</B> command to create each group.
782 All of the groups have the same owner. 
783 <PRE>   % <B>pts creategroup  -name</B> &lt;<VAR>group&nbsp;name</VAR>><SUP>+</SUP> [<B>-owner</B> &lt;<VAR>owner&nbsp;of&nbsp;the&nbsp;group</VAR>>]
784 </PRE> 
785 <P>where 
786 <DL>
787 <P><DT><B>cg
788 </B><DD>Is an alias for <B>creategroup</B> (and <B>createg</B> is the
789 shortest acceptable abbreviation).
790 <A NAME="IDX7940"></A>
791 <A NAME="IDX7941"></A>
792 <A NAME="IDX7942"></A>
793 <P><DT><B>-name
794 </B><DD>Names each group to create. The name can include up to 63 lowercase
795 letters or numbers, but it is best not to include punctuation characters,
796 especially those that have a special meaning to the shell. 
797 <P>A prefix-less group name cannot include the colon (<B>:</B>),
798 because it is used to separate the two parts of a regular group name:
799 <P><VAR>owner_name</VAR><B>:</B><VAR>group_name</VAR>
800 <P>The Protection Server requires that the <VAR>owner_name</VAR> prefix of a
801 regular group name accurately indicate the group's owner. By
802 default, you are recorded as the owner, and the <VAR>owner_name</VAR> must be
803 your AFS username. You can include the <B>-owner</B> argument to
804 designate another AFS user, a regular group, or a prefix-less group as the
805 owner, providing the required value in the <VAR>owner_name</VAR> field: 
806 <UL>
807 <P><LI>If the owner is a user, it must be the AFS username.
808 <P><LI>If the owner is another regular group, it must match the owning
809 group's <VAR>owner_name</VAR> field. For example, if the owner is
810 the group <B>terry:associates</B>, the owner field must be
811 <B>terry</B>.
812 <P><LI>If the owner is a prefix-less group, it must be the owning group's
813 name.
814 </UL>
815 <P>(For a discussion of why it is useful for a group to own another group, see
816 <A HREF="#HDRWQ545">Using Groups Effectively</A>.)
817 <P><DT><B>-owner
818 </B><DD>Is optional and designates an owner other than the issuer of the
819 command. Specify either an AFS username or the name of a regular or
820 prefix-less group that already has at least one member. Do not include
821 this argument if you want to make the group self-owned as described in <A HREF="#HDRWQ545">Using Groups Effectively</A>. For instructions, see <A HREF="#HDRWQ547">To create a self-owned group</A>.
822 <P>Do not designate a machine as a group's owner. Because a
823 machine cannot authenticate, there is no way for a machine to administer the
824 group.
825 </DL>
826 </OL>
827 <A NAME="IDX7943"></A>
828 <A NAME="IDX7944"></A>
829 <A NAME="IDX7945"></A>
830 <P><H3><A NAME="HDRWQ547" HREF="auagd002.htm#ToC_610">To create a self-owned group</A></H3>
831 <OL TYPE=1>
832 <P><LI>Issue the <B>pts creategroup</B> command to create a group. Do
833 not include the <B>-owner</B> argument, because you must own a group to
834 reassign ownership. For complete instructions, see <A HREF="#HDRWQ546">To create groups</A>. 
835 <PRE>   % <B>pts creategroup</B>  &lt;<VAR>group&nbsp;name</VAR>>
836 </PRE>
837 <P><LI>Issue the <B>pts adduser</B> command to add one or more members to the
838 group (a group must already have at least one member before owning another
839 group). For complete instructions, see <A HREF="#HDRWQ549">Adding and Removing Group Members</A>. 
840 <PRE>   % <B>pts adduser -user</B> &lt;<VAR>user&nbsp;name</VAR>><SUP>+</SUP> <B>-group</B> &lt;<VAR>group&nbsp;name</VAR>><SUP>+</SUP>
841 </PRE>
842 <P><LI>Issue the <B>pts chown</B> command to assign group ownership to the
843 group itself. For complete instructions, see <A HREF="#HDRWQ555">To change a group's owner</A>.
844 <PRE>   % <B>pts chown</B> &lt;<VAR>group&nbsp;name</VAR>> &lt;<VAR>new&nbsp;owner</VAR>>
845 </PRE>
846 </OL>
847 <P><H3><A NAME="HDRWQ548" HREF="auagd002.htm#ToC_611">Using Prefix-Less Groups</A></H3>
848 <P>Members of the <B>system:administrators</B> group
849 can create prefix-less groups, which are particularly suitable for <I>group
850 use</I>, which is described in <A HREF="#HDRWQ545">Using Groups Effectively</A>.
851 <P>Suppose, for example, that the manager of the ABC Corporation's
852 Accounting Department, user <B>smith</B>, creates a group that includes
853 all of the corporation's accountants and places the group on the ACLs of
854 directories that house departmental records. Using a prefix-less group
855 rather than a regular group is appropriate for the following reasons:
856 <UL>
857 <P><LI>The fact that <B>smith</B> created and owns the group is irrelevant,
858 and a regular group must be called <B>smith:acctg</B>. A
859 prefix-less name like <B>acctg</B> is more appropriate.
860 <P><LI>If another user (say <B>jones</B>) ever replaces <B>smith</B> as
861 manager of the Accounting Department, <B>jones</B> needs to become the new
862 owner of the group. If the group is a regular one, its
863 <VAR>owner_name</VAR> prefix automatically changes to <B>jones</B>, but the
864 change in the <VAR>owner_name</VAR> prefix does not propagate to any regular
865 groups owned by the group. Someone must use the <B>pts rename</B>
866 command to change each one's <VAR>owner_name</VAR> prefix from
867 <B>smith</B> to <B>jones</B>.
868 </UL>
869 <P>A possible solution is to create an authentication account for a fictional
870 user called <B>acctg</B> and make it the owner of regular groups which
871 have <B>acctg</B> as their <VAR>owner_name</VAR> prefix. However, if
872 the <B>acctg</B> account is also used for other purposes, then the number
873 of people who need to know user <B>acctg</B>'s password is possibly
874 larger than the number of people who need to administer the groups it
875 owns.
876 <P>A prefix-less group called <B>acctg</B> solves the problem of
877 inappropriate owner names. The groups that it owns have
878 <B>acctg</B> as their <VAR>owner_name</VAR> prefix, which more accurately
879 reflects their purpose than having the manager's name there.
880 Prefix-less groups are also more accountable than dummy authentication
881 accounts. Belonging to the group enables individuals to exercise the
882 permissions granted to the group on ACLs, but users continue to perform tasks
883 under their own names rather than under the dummy username. Even if the
884 group owns itself, only a finite number of people can administer the group
885 entry.
886 <HR><H2><A NAME="HDRWQ549" HREF="auagd002.htm#ToC_612">Adding and Removing Group Members</A></H2>
887 <P>Users and machines can be members of groups; groups
888 cannot belong to other groups. Newly created groups have no members at
889 all. To add them, use the <B>pts adduser</B> command; to
890 remove them, use the <B>pts removeuser</B> command.
891 <A NAME="IDX7946"></A>
892 <A NAME="IDX7947"></A>
893 <A NAME="IDX7948"></A>
894 <A NAME="IDX7949"></A>
895 <A NAME="IDX7950"></A>
896 <A NAME="IDX7951"></A>
897 <A NAME="IDX7952"></A>
898 <P><H3><A NAME="HDRWQ550" HREF="auagd002.htm#ToC_613">To add users and machines to groups</A></H3>
899 <OL TYPE=1>
900 <P><LI>Verify that you belong to the <B>system:administrators</B>
901 group, which enables you to add members to a group regardless of the setting
902 of its fourth (<B>a</B>) privacy flag. By default the group's
903 owner also has the necessary privilege. If necessary, issue the
904 <B>pts membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
905 <PRE>   % <B>pts membership system:administrators</B>
906    
907 </PRE>
908 <P><LI>Issue the <B>pts adduser</B> command to add one or more members to one
909 or more groups. 
910 <PRE>   % <B>pts adduser -user</B> &lt;<VAR>user&nbsp;name</VAR>><SUP>+</SUP> <B>-group</B> &lt;<VAR>group&nbsp;name</VAR>><SUP>+</SUP>
911 </PRE> 
912 <P>where
913 <DL>
914 <P><DT><B>ad
915 </B><DD>Is the shortest acceptable abbreviation of <B>adduser</B>.
916 <P><DT><B>-user
917 </B><DD>Specifies each username or machine IP address to add as a member of each
918 group named by the <B>-group</B> argument. A group cannot belong to
919 another group.
920 <P><DT><B><VAR>group name</VAR>
921 </B><DD>Names each group to which to add the new members.
922 </DL>
923 </OL>
924 <A NAME="IDX7953"></A>
925 <A NAME="IDX7954"></A>
926 <A NAME="IDX7955"></A>
927 <A NAME="IDX7956"></A>
928 <A NAME="IDX7957"></A>
929 <A NAME="IDX7958"></A>
930 <A NAME="IDX7959"></A>
931 <P><H3><A NAME="HDRWQ551" HREF="auagd002.htm#ToC_614">To remove users and machines from groups</A></H3>
932 <OL TYPE=1>
933 <P><LI>Verify that you belong to the <B>system:administrators</B>
934 group, which enables you to remove members from a group regardless of the
935 setting of its fifth (<B>r</B>) privacy flag. By default the
936 group's owner also has the necessary privilege. If necessary,
937 issue the <B>pts membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
938 <PRE>   % <B>pts membership system:administrators</B>
939    
940 </PRE>
941 <P><LI>Issue the <B>pts removeuser</B> command to remove one or more members
942 from one or more groups. 
943 <PRE>   % <B>pts removeuser -user</B>  &lt;<VAR>user&nbsp;name</VAR>><SUP>+</SUP>  <B>-group</B> &lt;<VAR>group&nbsp;name</VAR>><SUP>+</SUP>
944 </PRE> 
945 <P>where
946 <DL>
947 <P><DT><B>rem
948 </B><DD>Is the shortest acceptable abbreviation of <B>removeuser</B>.
949 <P><DT><B>-user
950 </B><DD>Specifies each user or machine IP address to remove from each group named
951 by the <B>-group</B> argument.
952 <P><DT><B>-group
953 </B><DD>Names each group from which to remove members.
954 </DL>
955 </OL>
956 <HR><H2><A NAME="HDRWQ552" HREF="auagd002.htm#ToC_615">Deleting Protection Database Entries</A></H2>
957 <P>It is best to delete a Protection Database user entry only
958 if you are removing the complete user account. Use either the <B>uss
959 delete</B> command as described in <A HREF="auagd017.htm#HDRWQ486">Deleting Individual Accounts with the uss delete Command</A>, or the <B>pts delete</B> command as described in <A HREF="auagd018.htm#HDRWQ524">Removing a User Account</A>.
960 <P>To remove machine and group entries, use the <B>pts delete</B> command
961 as described in this section. The operation has the following
962 results:
963 <UL>
964 <P><LI>When you delete a machine entry, its name (IP address wildcard) is removed
965 from groups.
966 <P><LI>When you delete a group entry, its AFS GID appears on ACLs instead of the
967 name. The group-creation quota of the user who created the group
968 increases by one, even if the user no longer owns the group.
969 <P>To remove obsolete AFS IDs from ACLs, use the <B>fs cleanacl</B>
970 command as described in <A HREF="auagd020.htm#HDRWQ579">Removing Obsolete AFS IDs from ACLs</A>.
971 </UL>
972 <A NAME="IDX7960"></A>
973 <A NAME="IDX7961"></A>
974 <A NAME="IDX7962"></A>
975 <A NAME="IDX7963"></A>
976 <A NAME="IDX7964"></A>
977 <A NAME="IDX7965"></A>
978 <A NAME="IDX7966"></A>
979 <P><H3><A NAME="HDRWQ553" HREF="auagd002.htm#ToC_616">To delete Protection Database entries</A></H3>
980 <OL TYPE=1>
981 <P><LI>Verify that you belong to the <B>system:administrators</B> group
982 or own the group you are deleting. If necessary, issue the <B>pts
983 membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
984 <PRE>   % <B>pts membership system:administrators</B>
985    
986 </PRE>
987 <P><LI>Issue the <B>pts delete</B> command to delete one or more entries from
988 the Protection Database. 
989 <PRE>   % <B>pts delete</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP>
990 </PRE> 
991 <P>where 
992 <DL>
993 <P><DT><B>del
994 </B><DD>Is the shortest acceptable abbreviation of <B>delete</B>.
995 <P><DT><B><VAR>user or group name or id</VAR>
996 </B><DD>Specifies the IP address or AFS UID of each machine or the name or AFS GID
997 or each group to remove.
998 </DL>
999 </OL>
1000 <A NAME="IDX7967"></A>
1001 <A NAME="IDX7968"></A>
1002 <HR><H2><A NAME="HDRWQ554" HREF="auagd002.htm#ToC_617">Changing a Group's Owner</A></H2>
1003 <P>For user and machine entries, the Protection Server
1004 automatically assigns ownership to the <B>system:administrators</B>
1005 group at creation time, and this cannot be changed. For group entries,
1006 you can change ownership. This transfers administrative responsibility
1007 for it to another user or group (for information on group ownership of other
1008 groups, see <A HREF="#HDRWQ545">Using Groups Effectively</A>).
1009 <P>When you create a regular group, its <VAR>owner_name</VAR> prefix must
1010 accurately reflect its owner, as described in <A HREF="#HDRWQ546">To create groups</A>:
1011 <UL>
1012 <P><LI>If the owner is a user, <VAR>owner_name</VAR> is the username.
1013 <P><LI>If the owner is a regular group, <VAR>owner_name</VAR> is the owning
1014 group's <VAR>owner_name</VAR> prefix.
1015 <P><LI>If the owner is a prefix-less group, <VAR>owner_name</VAR> is the owner
1016 group's name.
1017 </UL>
1018 <P>When you change a regular group's owner, the Protection Server
1019 automatically changes its <VAR>owner_name</VAR> prefix appropriately. For
1020 example, if the user <B>pat</B> becomes the new owner of the group
1021 <B>terry:friends</B>, its name automatically changes to
1022 <B>pat:friends</B>, both in the Protection Database and on
1023 ACLs.
1024 <P>However, the Protection Server does not automatically change the
1025 <VAR>owner_name</VAR> prefix of any regular groups that the group owns.
1026 To continue with the previous example, suppose that the group
1027 <B>terry:friends</B> owns the group
1028 <B>terry:pals</B>. When <B>pat</B> becomes the new owner
1029 of <B>terry:friends</B>, the name <B>terry:pals</B> does
1030 not change. To change the <VAR>owner_name</VAR> prefix of a regular group
1031 that is owned by another group (in the example, to change the group's
1032 name to <B>pat:pals</B>), use the <B>pts rename</B> command as
1033 described in <A HREF="#HDRWQ556">Changing a Protection Database Entry's Name</A>.
1034 <A NAME="IDX7969"></A>
1035 <A NAME="IDX7970"></A>
1036 <A NAME="IDX7971"></A>
1037 <P><H3><A NAME="HDRWQ555" HREF="auagd002.htm#ToC_618">To change a group's owner</A></H3>
1038 <OL TYPE=1>
1039 <P><LI>Verify that you belong to the <B>system:administrators</B> group
1040 or own the group for which you are changing the owner. If necessary,
1041 issue the <B>pts membership</B> command, which is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
1042 <PRE>   % <B>pts membership system:administrators</B>
1043    
1044 </PRE>
1045 <P><LI><B>(Optional)</B> If you are changing the group's owner to
1046 another group (or to itself) and want to retain administrative privilege on
1047 the owned group, verify that you belong to the new owner group. If
1048 necessary, issue the <B>pts membership</B> command, which is fully
1049 described in <A HREF="#HDRWQ538">To display group membership</A>. 
1050 <PRE>   % <B>pts membership</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>>
1051 </PRE> 
1052 <P>Use the <B> pts adduser</B> command to add yourself if necessary, as
1053 fully described in <A HREF="#HDRWQ550">To add users and machines to groups</A>. 
1054 <PRE>   % <B>pts adduser</B> &lt;<VAR>user&nbsp;name</VAR>> &lt;<VAR>group&nbsp;name</VAR>>
1055 </PRE>
1056 <P><LI>Issue the <B>pts chown</B> command to change the group's
1057 owner.
1058 <PRE>   % <B>pts chown</B> &lt;<VAR>group&nbsp;name</VAR>> &lt;<VAR>new&nbsp;owner</VAR>>
1059 </PRE> 
1060 <P>where
1061 <DL>
1062 <P><DT><B>cho
1063 </B><DD>Is the shortest acceptable abbreviation of <B>chown</B>.
1064 <P><DT><B><VAR>group name</VAR>
1065 </B><DD>Specifies the current name of the group.
1066 <P><DT><B><VAR>new owner</VAR>
1067 </B><DD>Names the user or group to become the group's owner.
1068 </DL>
1069 <P><LI><B>(Optional)</B> Issue the <B>pts listowned</B> command to
1070 display any groups that the group owns. As discussed in the
1071 introduction to this section, the <B>pts chown</B> command does not
1072 automatically change the <VAR>owner_name</VAR> prefix of any regular groups that
1073 a group owns. 
1074 <PRE>   % <B>pts listowned</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>>
1075 </PRE> 
1076 <P>If you want to change their names to match the new owning group, use the
1077 <B>pts rename</B> command on each one, as described in <A HREF="#HDRWQ557">To change the name of a machine or group entry</A>. 
1078 <PRE>   % <B>pts rename</B> &lt;<VAR>old&nbsp;name</VAR>> &lt;<VAR>new&nbsp;name</VAR>>
1079 </PRE>
1080 </OL>
1081 <A NAME="IDX7972"></A>
1082 <A NAME="IDX7973"></A>
1083 <A NAME="IDX7974"></A>
1084 <A NAME="IDX7975"></A>
1085 <A NAME="IDX7976"></A>
1086 <HR><H2><A NAME="HDRWQ556" HREF="auagd002.htm#ToC_619">Changing a Protection Database Entry's Name</A></H2>
1087 <P>To change the name of a Protection Database entry, use the
1088 <B>pts rename</B> command. It is best to change a user entry's
1089 name only when renaming the entire user account, since so many components of
1090 the account (Authentication Database entry, volume name, home directory mount
1091 point, and so on) share the name. For instructions, see <A HREF="auagd018.htm#HDRWQ518">Changing Usernames</A>. A machine entry's name maps to the actual IP
1092 address of one or more machine, so changing the entry's name is
1093 appropriate only if the IP addresses have changed.
1094 <P>It is likely, then, that most often you need to change group names.
1095 The following types of name changes are possible:
1096 <UL>
1097 <P><LI>Changing a regular group's name to another regular group name.
1098 The most common reason for this type of change is that you have used the
1099 <B>pts chown</B> command to change the owner of the group. That
1100 operation does not change the <VAR>owner_name</VAR> prefix of a regular group
1101 owned by the group whose name has been changed. Therefore, you must use
1102 the <B>pts rename</B> command to change it appropriately. For
1103 example, when user <B>pat</B> becomes the owner of the
1104 <B>terry:friends</B> group, its name changes automatically to
1105 <B>pat:friends</B>, but the name of a group it owns,
1106 <B>terry:pals</B>, does not change. Use the <B>pts
1107 rename</B> command to rename <B>terry:pals</B> to
1108 <B>pat:pals</B>. The Protection Server does not accept
1109 changes to the <VAR>owner_name</VAR> prefix that do not reflect the true
1110 ownership (changing <B>terry:pals</B> to <B>smith:pals</B>
1111 is not possible). 
1112 <P>You can also use the <B>pts rename</B> command to change the
1113 <VAR>group_name</VAR> portion of a regular group name, with or without changing
1114 the <VAR>owner_name</VAR> prefix.
1115 <P>Both the group's owner and the members of the
1116 <B>system:administrators</B> group can change its name to another
1117 regular group name.
1118 <P><LI>Changing a regular group's name to a prefix-less name. If you
1119 change a group's name in this way, you must also use the <B>pts
1120 rename</B> command to change the name of any regular group that the group
1121 owns. Only members of the <B>system:administrators</B> group
1122 can make this type of name change.
1123 <P><LI>Changing a prefix-less name to another prefix-less name. As with
1124 other name changes, the <VAR>owner_name</VAR> prefix of any regular groups that
1125 the prefix-less group owns does not change automatically. You must
1126 issue the <B>pts rename</B> command on them to maintain
1127 consistency.
1128 <P>Both the group's owner and the members of the
1129 <B>system:administrators</B> group can change its name to another
1130 prefix-less name.
1131 <P><LI>Changing a prefix-less name to a regular name. The
1132 <VAR>owner_name</VAR> prefix on the new name must accurately reflect the
1133 group's ownership. As with other name changes, the
1134 <VAR>owner_name</VAR> prefix of any regular groups that the prefix-less group
1135 owns does not change automatically. You must issue the <B>pts
1136 rename</B> command on them to maintain consistency.
1137 <P>Only members of the <B>system:administrators</B> group can make
1138 this type of name change.
1139 </UL>
1140 <A NAME="IDX7977"></A>
1141 <A NAME="IDX7978"></A>
1142 <P><H3><A NAME="HDRWQ557" HREF="auagd002.htm#ToC_620">To change the name of a machine or group entry</A></H3>
1143 <OL TYPE=1>
1144 <P><LI>Verify that you belong to the <B>system:administrators</B>
1145 group. If necessary, issue the <B>pts membership</B> command, which
1146 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
1147 <PRE>   % <B>pts membership system:administrators</B>
1148    
1149 </PRE>
1150 <P><LI>Issue the <B>pts rename</B> command to change the entry's
1151 name. 
1152 <PRE>   % <B>pts rename</B> &lt;<VAR>old&nbsp;name</VAR>> &lt;<VAR>new&nbsp;name</VAR>>
1153 </PRE> 
1154 <P>where 
1155 <DL>
1156 <P><DT><B>ren
1157 </B><DD>Is the shortest acceptable abbreviation of <B>rename</B>.
1158 <P><DT><B><VAR>old name</VAR>
1159 </B><DD>Specifies the entry's current name.
1160 <P><DT><B><VAR>new name</VAR>
1161 </B><DD>Specifies the new name. If the new name is for a regular group, the
1162 <VAR>owner_name</VAR> prefix must correctly indicate the owner.
1163 </DL>
1164 </OL>
1165 <A NAME="IDX7979"></A>
1166 <A NAME="IDX7980"></A>
1167 <A NAME="IDX7981"></A>
1168 <A NAME="IDX7982"></A>
1169 <A NAME="IDX7983"></A>
1170 <A NAME="IDX7984"></A>
1171 <HR><H2><A NAME="HDRWQ558" HREF="auagd002.htm#ToC_621">Setting Group-Creation Quota</A></H2>
1172 <P>To prevent abuse of system resources, the Protection Server
1173 imposes a <I>group-creation quota</I> that limits how many more groups a
1174 user can create. When a new user entry is created, the quota is set to
1175 20, but members of the <B>system:administrators</B> group can use
1176 the <B>pts setfields</B> command to increase or decrease it at any
1177 time.
1178 <P>It is pointless to change group-creation quota for machine or group
1179 entries. It is not possible to authenticate as a group or machine and
1180 then create groups.
1181 <P>To display the group-creation quota, use the <B>pts examine</B> command
1182 to display a user entry's <TT>group quota</TT> field, as described in <A HREF="#HDRWQ537">To display a Protection Database entry</A>.
1183 <A NAME="IDX7985"></A>
1184 <A NAME="IDX7986"></A>
1185 <P><H3><A NAME="Header_622" HREF="auagd002.htm#ToC_622">To set group-creation quota</A></H3>
1186 <OL TYPE=1>
1187 <P><LI>Verify that you belong to the <B>system:administrators</B>
1188 group. If necessary, issue the <B>pts membership</B> command, which
1189 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
1190 <PRE>   % <B>pts membership system:administrators</B>
1191    
1192 </PRE>
1193 <P><LI>Issue the <B>pts setfields</B> command to specify how many more groups
1194 each of one or more users can create. 
1195 <PRE>  % <B>pts setfields -nameorid</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP>  \
1196                   <B>-groupquota</B> &lt;<VAR>set&nbsp;limit&nbsp;on&nbsp;group&nbsp;creation</VAR>>
1197 </PRE> 
1198 <P>where
1199 <DL>
1200 <P><DT><B>setf
1201 </B><DD>Is the shortest acceptable abbreviation of <B>setfields</B>.
1202 <P><DT><B>-nameorid
1203 </B><DD>Specifies the name or AFS UID of each user for which to set group-creation
1204 quota.
1205 <P><DT><B>-groupquota
1206 </B><DD>Defines how many groups each user can create in addition to existing
1207 groups (in other words, groups that already exist do not count against the
1208 quota). The value you specify overwrites the current value, rather than
1209 incrementing it.
1210 </DL>
1211 </OL>
1212 <A NAME="IDX7987"></A>
1213 <A NAME="IDX7988"></A>
1214 <A NAME="IDX7989"></A>
1215 <A NAME="IDX7990"></A>
1216 <A NAME="IDX7991"></A>
1217 <A NAME="IDX7992"></A>
1218 <HR><H2><A NAME="HDRWQ559" HREF="auagd002.htm#ToC_623">Setting the Privacy Flags on Database Entries</A></H2>
1219 <P>Members of the <B>system:administrators</B> group
1220 can always display and administer Protection Database entries in any way, and
1221 regular users can display and administer their own entries and any group
1222 entries they own. The <I>privacy flags</I> on a Protection Database
1223 entry determine who else can display certain information from the entry, and
1224 who can add and remove members in a group.
1225 <P>To display the flags, use the <B>pts examine</B> command as described
1226 in <A HREF="#HDRWQ537">To display a Protection Database entry</A>. The flags appear in the output's
1227 <TT>flags</TT> field. To set the flags, include the
1228 <B>-access</B> argument to the <B>pts setfields</B> command.
1229 <P>The five flags always appear, and always must be set, in the following
1230 order:
1231 <DL>
1232 <P><DT><B>s
1233 </B><DD>Controls who can issue the <B>pts examine</B> command to display the
1234 entry.
1235 <P><DT><B>o
1236 </B><DD>Controls who can issue the <B>pts listowned</B> command to display the
1237 groups that a user or group owns.
1238 <P><DT><B>m
1239 </B><DD>Controls who can issue the <B>pts membership</B> command to display
1240 the groups a user or machine belongs to, or which users or machines belong to
1241 a group.
1242 <P><DT><B>a
1243 </B><DD>Controls who can issue the <B>pts adduser</B> command to add a user or
1244 machine to a group. It is meaningful only for groups, but a value must
1245 always be set for it even on user and machine entries.
1246 <P><DT><B>r
1247 </B><DD>Controls who can issue the <B>pts removeuser</B> command to remove a
1248 user or machine from a group. It is meaningful only for groups, but a
1249 value must always be set for it even on user and machine entries.
1250 </DL>
1251 <P>Each flag can take three possible types of values to enable a different set
1252 of users to issue the corresponding command:
1253 <UL>
1254 <P><LI>A hyphen (<B>-</B>) designates the members of the
1255 <B>system:administrators</B> group and the entry's
1256 owner. For user entries, it designates the user in addition.
1257 <P><LI>The lowercase version of the letter applies meaningfully to groups only,
1258 and designates members of the group in addition to the individuals designated
1259 by the hyphen.
1260 <P><LI>The uppercase version of the letter designates everyone.
1261 </UL>
1262 <P>For example, the flags <TT>SOmar</TT> on a group entry indicate that
1263 anyone can examine the group's entry and display the groups that it owns,
1264 and that only the group's members can display, add, or remove its
1265 members.
1266 <P>The default privacy flags for user and machine entries are
1267 <TT>S----</TT>, meaning that anyone can display the entry. The
1268 ability to perform any other functions is restricted to members of the
1269 <B>system:administrators</B> group and the entry's owner (as
1270 well as the user for a user entry).
1271 <P>The default privacy flags for group entries are <TT>S-M--</TT>, meaning
1272 that all users can display the entry and the members of the group, but only
1273 the entry owner and members of the <B>system:administrators</B>
1274 group can perform other functions.
1275 <A NAME="IDX7993"></A>
1276 <A NAME="IDX7994"></A>
1277 <P><H3><A NAME="Header_624" HREF="auagd002.htm#ToC_624">To set a Protection Database entry's privacy flags</A></H3>
1278 <OL TYPE=1>
1279 <P><LI>Verify that you belong to the <B>system:administrators</B>
1280 group. If necessary, issue the <B>pts membership</B> command, which
1281 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
1282 <PRE>   % <B>pts membership system:administrators</B>
1283    
1284 </PRE>
1285 <P><LI>Issue the <B>pts setfields</B> command to set the privacy
1286 flags. 
1287 <PRE>   % <B>pts setfields</B> &lt;<VAR>user&nbsp;or&nbsp;group&nbsp;name&nbsp;or&nbsp;id</VAR>><SUP>+</SUP> <B>-access</B> &lt;<VAR>set&nbsp;privacy&nbsp;flags</VAR>>
1288 </PRE> 
1289 <P>where
1290 <DL>
1291 <P><DT><B>setf
1292 </B><DD>Is the shortest acceptable abbreviation of <B>setfields</B>.
1293 <P><DT><B><VAR>user or group name or id</VAR>
1294 </B><DD>Specifies the name or AFS UID of each user, the IP address or AFS UID of
1295 each machine, or the name or AFS GID of each group for which to set the
1296 privacy flags.
1297 <P><DT><B>-access
1298 </B><DD>Specifies the set of privacy flags to associate with each entry.
1299 Provide a value for each of the five flags, observing the following
1300 constraints:
1301 <UL>
1302 <P><LI>Provide a value for all five flags, even though the fourth and fifth flags
1303 are not meaningful for user and machine entries.
1304 <P><LI>For self-owned groups, the hyphen is equivalent to a lowercase letter,
1305 because all the members of a self-owned group own it.
1306 <P><LI>Set the first flag to lowercase <B>s</B> or uppercase <B>S</B>
1307 only. For user and machine entries, the Protection Server interprets
1308 the lowercase <B>s</B> as equivalent to the hyphen.
1309 <P><LI>Set the second flag to the hyphen (<B>-</B>) or uppercase <B>O</B>
1310 only. For groups, the Protection Server interprets the hyphen as
1311 equivalent to lowercase <B>o</B> (that is, members of a group can always
1312 list the groups that it owns).
1313 <P><LI>Set the third flag to the hyphen (<B>-</B>), lowercase <B>m</B>,
1314 or uppercase <B>M</B>. For user and machine entries, the lowercase
1315 <B>m</B> does not have a meaningful interpretation, because they have no
1316 members.
1317 <P><LI>Set the fourth flag to the hyphen (<B>-</B>), lowercase <B>a</B>,
1318 or uppercase <B>A</B>. Although this flag does not have a
1319 meaningful interpretation for user and machine entries (because they have no
1320 members), it must be set, preferably to the hyphen.
1321 <P><LI>Set the fifth flag to the hyphen (<B>-</B>) or lowercase <B>r</B>
1322 only. Although this flag does not have a meaningful interpretation for
1323 user and machine entries (because they have no members), it must be set,
1324 preferably to the hyphen.
1325 </UL>
1326 </DL>
1327 </OL>
1328 <A NAME="IDX7995"></A>
1329 <A NAME="IDX7996"></A>
1330 <A NAME="IDX7997"></A>
1331 <A NAME="IDX7998"></A>
1332 <HR><H2><A NAME="HDRWQ560" HREF="auagd002.htm#ToC_625">Displaying and Setting the AFS UID and GID Counters</A></H2>
1333 <P>When you use the <B>pts createuser</B> command to create
1334 a user or machine entry in the Protection Database, the Protection Server by
1335 default automatically allocates an AFS user ID (AFS UID) for it;
1336 similarly, it allocates an AFS group ID (AFS GID) for each group entry you
1337 create with the <B>pts creategroup</B> command. It tracks the next
1338 available AFS UID (which is a positive integer) and AFS GID (which is a
1339 negative integer) with the <TT>max user id</TT> and <TT>max group id</TT>
1340 counters, respectively.
1341 <P>Members of the <B>system:administrators</B> group can include the
1342 <B>-id</B> argument to either <B>pts</B> creation command to assign a
1343 specific ID to a new user, machine, or group. It often makes sense to
1344 assign AFS UIDs explicitly when creating AFS accounts for users with existing
1345 UNIX accounts, as discussed in <A HREF="auagd017.htm#HDRWQ456">Assigning AFS and UNIX UIDs that Match</A>. It is also useful if you want to establish ranges of
1346 IDs that correspond to departmental affiliations (for example, assigning AFS
1347 UIDs from 300 to 399 to members of one department, AFS UIDs from 400 to 499 to
1348 another department, and so on).
1349 <P>To display the current value of the counters, use the <B>pts
1350 listmax</B> command. When you next create a user or machine entry and
1351 do not specify its AFS UID, the Protection Server increments the <TT>max user
1352 id</TT> counter by one and assigns that number to the new entry. When
1353 you create a new group and do not specify its AFS GID, the Protection Server
1354 decrements the <TT>max group id</TT> counter by one (makes it more
1355 negative), and assigns that number to the new group.
1356 <P>You can change the value of either counter, or both, in one of two
1357 ways:
1358 <UL>
1359 <P><LI>Directly, using the <B>pts setmax</B> command.
1360 <P><LI>Indirectly, by using the <B>-id</B> argument to the <B>pts
1361 createuser</B> command to assign an AFS UID that is larger than the <TT>max
1362 user id</TT> counter, or by using the <B>-id</B> to the <B>pts
1363 creategroup</B> command to assign an AFS GID that is less (more negative)
1364 than the <TT>max group id</TT> counter. In either case, the
1365 Protection Server changes the counter to the value of the <B>-id</B>
1366 argument. The Protection Server does not use the IDs between the
1367 previous value of the counter and the new one when allocating IDs
1368 automatically, unless you use the <B>pts setmax</B> command to move the
1369 counter back to its old value. 
1370 <P>If the value you specify with the <B>-id</B> argument is less than the
1371 <TT>max user id</TT> counter or greater (less negative) than the <TT>max
1372 group id</TT> counter, then the counter does not change.
1373 </UL>
1374 <A NAME="IDX7999"></A>
1375 <A NAME="IDX8000"></A>
1376 <A NAME="IDX8001"></A>
1377 <A NAME="IDX8002"></A>
1378 <A NAME="IDX8003"></A>
1379 <A NAME="IDX8004"></A>
1380 <P><H3><A NAME="HDRWQ561" HREF="auagd002.htm#ToC_626">To display the AFS ID counters</A></H3>
1381 <OL TYPE=1>
1382 <P><LI>Issue the <B>pts listmax</B> command to display the counters.
1383 <PRE>   % <B>pts listmax</B>
1384 </PRE> 
1385 <P>where <B>listm</B> is an acceptable abbreviation of
1386 <B>listmax</B>.
1387 </OL>
1388 <P>The following example illustrates the output's format. In this
1389 case, the next automatically assigned AFS UID is 5439 and AFS GID is
1390 -469.
1391 <PRE>   % <B>pts listmax</B>
1392    Max user id is 5438 and max group id is -468.
1393 </PRE>
1394 <A NAME="IDX8005"></A>
1395 <A NAME="IDX8006"></A>
1396 <A NAME="IDX8007"></A>
1397 <A NAME="IDX8008"></A>
1398 <A NAME="IDX8009"></A>
1399 <A NAME="IDX8010"></A>
1400 <A NAME="IDX8011"></A>
1401 <A NAME="IDX8012"></A>
1402 <A NAME="IDX8013"></A>
1403 <A NAME="IDX8014"></A>
1404 <A NAME="IDX8015"></A>
1405 <P><H3><A NAME="Header_627" HREF="auagd002.htm#ToC_627">To set the AFS ID counters</A></H3>
1406 <OL TYPE=1>
1407 <P><LI>Verify that you belong to the <B>system:administrators</B>
1408 group. If necessary, issue the <B>pts membership</B> command, which
1409 is fully described in <A HREF="auagd021.htm#HDRWQ587">To display the members of the system:administrators group</A>. 
1410 <PRE>   % <B>pts membership system:administrators</B>
1411    
1412 </PRE>
1413 <P><LI>Issue the <B>pts setmax</B> command to set the <TT>max user id</TT>
1414 counter, the <TT>max group id</TT> counter, or both.
1415 <PRE>   % <B>pts setmax</B> [<B>-group</B> &lt;<VAR>group&nbsp;max</VAR>>] [<B>-user</B> &lt;<VAR>user&nbsp;max</VAR>>]
1416 </PRE> 
1417 <P>where
1418 <DL>
1419 <P><DT><B>setm
1420 </B><DD>Is the shortest acceptable abbreviation of <B>setmax</B>.
1421 <P><DT><B>-group
1422 </B><DD>Specifies an integer one greater (less negative) than the AFS GID that the
1423 Protection Server is to assign to the next group entry. Because the
1424 value is a negative integer, precede it with a hyphen (<B>-</B>).
1425 <P><DT><B>-user
1426 </B><DD>Specifies an integer one less than the AFS UID that the Protection Server
1427 is to assign to the next user or machine entry.
1428 </DL>
1429 </OL>
1430 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auagd002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auagd018.htm"><IMG SRC="../prev.gif" BORDER="0" ALT="[Previous Topic]"></A> <A HREF="#Top_Of_Page"><IMG SRC="../top.gif" BORDER="0" ALT="[Top of Topic]"></A> <A HREF="auagd020.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auagd026.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
1431 <!-- Begin Footer Records  ========================================== -->
1432 <P><HR><B> 
1433 <br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A>  All Rights Reserved 
1434 </B> 
1435 <!-- End Footer Records  ============================================ -->
1436 <A NAME="Bot_Of_Page"></A>
1437 </BODY></HTML>