Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / doc / man-pages / pod5 / uss.pod
CommitLineData
805e021f
CE
1=head1 NAME
2
3uss - Provides instructions for the uss add command (deprecated)
4
5=head1 CAUTIONS
6
7The B<uss> command suite is currently designed for cells using the
8obsolete Authentication Server, and therefore is primarily useful for
9sites that have not yet migrated to a Kerberos version 5 KDC. The
10Authentication Server and supporting commands will be removed in a future
11version of OpenAFS, which may include B<uss> unless someone who finds it
12useful converts it to work with a Kerberos version 5 KDC.
13
14=head1 DESCRIPTION
15
16The uss template file defines the components of an AFS user account that
17the B<uss add> command (or B<add> instruction in a B<uss> bulk input file)
18creates. Use the B<-template> argument to the B<uss add> or B<uss bulk>
19command to identify the template file.
20
21=head2 Summary of Template File Instructions
22
23The template file can include the following instructions, each on its own
24line. A more detailed description of each instruction's syntax follows
25this list.
26
27=over 4
28
29=item A
30
31Imposes restrictions on user passwords and authentication attempts.
32
33=item D
34
35Creates a directory.
36
37=item E
38
39Creates a single-line file.
40
41=item F
42
43Creates a file by copying a prototype.
44
45=item G
46
47Defines a directory that is one of a set of parent directories into which
48the B<uss> command interpreter evenly distributes newly created home
49directories.
50
51=item L
52
53Creates a hard link.
54
55=item S
56
57Creates a symbolic link.
58
59=item V
60
61Creates a volume, mounts it in the file space and sets the ACL on the
62mount point.
63
64=item X
65
66Executes a command.
67
68=back
69
70If the template file is empty (zero-length), the B<uss add> command or
71C<add> instruction in a bulk input file only creates an entry in the
72Protection and Authentication Databases, naming them according to the name
73specified with the B<uss add> command's B<-user> argument, or in the bulk
74input file C<add> instruction's I<username> field.
75
76=head2 The A Instruction for Setting the Default Treatment of Volumes
77
78The C<A> instruction in a uss template file enhances cell security by
79imposing the following restrictions on users' password choice and
80authentication attempts. For further information on these limits, see the
81I<OpenAFS Administration Guide> and the B<kas setfields> reference page.
82
83=over 4
84
85=item *
86
87Limiting the user's password lifetime. When the lifetime expires, the user
88can no longer authenticate using that password, and must change it.
89
90=item *
91
92Prohibiting the reuse of the user's 20 most recently used passwords.
93
94=item *
95
96Limiting the number of consecutive times that a user can provide an
97incorrect password during authentication, and for how long the
98Authentication Server refuses further authentication attempts after the
99limit is exceeded (referred to as an I<account lockout>). For regular user
100accounts in most cells, the recommended limit is nine and lockout time is
10125 minutes.
102
103=back
104
105The instruction has the following syntax:
106
107 A <username> <lifetime> <reuse> <failures> <locktime>
108
109where
110
111=over 4
112
113=item A
114
115Indicates a security-enhancing instruction. It must be a capital letter.
116
117=item <username>
118
119Names the Authentication Database entry on which to impose security
120restrictions. Specify the value $USER to read in the username from the
121B<uss add> command's B<-user> argument, or from the I<username> field of
122an C<add> instruction in a bulk input file.
123
124=item <lifetime>
125
126Sets the number of days after the user's password is changed that it
127remains valid. When the password becomes invalid (expires), the user is
128unable to authenticate, but has 30 more days in which to issue the
129B<kpasswd> command to change the password (after that, only an
130administrator can change it).
131
132Specify an integer from the range C<1> through C<254> to specify the
133number of days until expiration, the value C<0> to indicate that the
134password never expires, or the value $PWEXPIRES to read in the number
135of days from the B<uss add> or B<uss bulk> command's B<-pwexpires>
136argument. If the C<A> instruction does not appear in the template file,
137the default is for the user's password never to expire.
138
139=item <reuse>
140
141Determines whether or not the user can change his or her password (using
142the B<kpasswd> or B<kas setpassword> command) to one that is similar to
143any of the last twenty passwords. The acceptable values are C<reuse> to
144allow reuse and C<noreuse> to prohibit it. If the C<A> instruction does
145not appear in the template file, the default is to allow password reuse.
146
147=item <failures>
148
149Sets the number of consecutive times the user can provide an incorrect
150password during authentication (using the B<klog> command or a login
151utility that grants AFS tokens). When the user exceeds the limit, the
152Authentication Server rejects further authentication attempts for the
153amount of time specified in the <locktime> field.
154
155Specify an integer from the range C<1> through C<254> to specify the
156number of failures permitted, or the value C<0> to indicate that there is
157no limit to the number of unsuccessful attempts. If the C<A> instruction
158does not appear in the template file, the default is to allow an unlimited
159number of failures.
160
161=item <locktime>
162
163Specifies how long the Authentication Server refuses authentication
164attempts from a user who has exceeded the failure limit set in the
165<failures> field.
166
167Specify a number of hours and minutes (I<hh:mm>) or minutes only (I<mm>),
168from the range C<01> (one minute) through C<36:00> (36 hours). The
169Authentication Server automatically reduces any larger value to C<36:00>
170and also rounds up any non-zero value to the next higher multiple of 8.5
171minutes. A value of C<0> (zero) sets an infinite lockout time; an
172administrator must always issue the B<kas unlock> command to unlock the
173account.
174
175=back
176
177=head2 The D Instruction for Creating a Directory
178
179The C<D> instruction in a uss template file creates a directory. Its
180intended use is to create a subdirectory in the user home directory
181created by the C<V> instruction in the template file.
182
183Any number of C<D> instructions can appear in the template file. If any
184variables in the instruction take their values from the C<V> instruction
185(notably, the $MTPT variable), the instruction must follow the C<V>
186instruction in the file.
187
188Although it is possible to use the C<D> instruction to create a directory
189on the local disk of the machine where the B<uss> command is issued, it is
190not recommended. Two complications
191arise if the <pathname> field refers to a local disk directory:
192
193=over 4
194
195=item *
196
197The B<uss> command prints a warning message because it cannot associate an
198access control list (ACL) with a local disk directory. It creates the
199directory nonetheless, and some syntactically correct value must appear in
200the instruction's <ACL> field.
201
202=item *
203
204To designate any user other than the issuer as the new directory's owner,
205the issuer must log onto the machine as the local superuser C<root>. For
206local disk directories, only the local superuser C<root> is allowed to
207issue the UNIX B<chown> command that the B<uss> command interpreter
208invokes to change the owner from the default value (the directory's
209creator, which in this case is the issuer of the B<uss> command). The
210issuer must then also use the B<-admin> argument to the B<uss add> or
211B<uss bulk> command to authenticate as a privileged AFS administrator,
212which is required for creating the Authentication Database and Protection
213Database entries that the B<uss> command interpreter always creates for a
214new account.
215
216=back
217
218The instruction has the following syntax:
219
220 D <pathname> <mode> <owner> <ACL>
221
222where
223
224=over 4
225
226=item D
227
228Indicates a directory creation instruction. It must be a capital letter.
229
230=item <pathname>
231
232Specifies the directory's full pathname. It can include variables.
233
234Specify the read/write path to the directory, to avoid the failure that
235results from attempting to create a new directory in a read-only
236volume. By convention, the read/write path is indicated by placing a
237period before the cell name at the pathname's second level (for example,
238F</afs/.example.com>). For further discussion of the concept of read/write and
239read-only paths through the filespace, see the reference page for the B<fs
240mkmount> command.
241
242=item <mode>
243
244Sets the directory's UNIX mode bits. Acceptable values are the standard
245three- or four-digit numbers corresponding to combinations of
246permissions. Examples: C<755> corresponds to C<rwxr-xr-x>, and C<644> to
247C<rw-r--r-->. The first (owner) C<x> bit must be turned on to enable
248access to a directory.
249
250=item <owner>
251
252Specifies the username or UNIX user ID (UID) of the user to be designated
253the directory's owner in the output from the UNIX C<ls -ld> command. If
254the directory resides in AFS, place the $UID variable in this field. If
255the directory resides on the local disk, this field must be the username
256or UID of the B<uss> command's issuer, unless the issuer is logged in as
257the local superuser C<root>.
258
259=item <ACL>
260
261Sets the ACL on the new directory. It must appear even if the new
262directory resides on the local disk rather than in AFS, but is ignored in
263that case. Provide one or more paired values, each pair consisting of an
264AFS username or group name and the desired permissions, in that order.
265Separate the two parts of the pair, and each pair, with a space. The B<fs
266setacl> reference page describes the available permissions.
267
268For an AFS directory, grant all permissions to the directory's owner at
269least. Usually that is the new user, in which case the appropriate value
270is C<$USER all>.
271
272It is not possible to grant any permissions to the issuer of the B<uss>
273command. As the last step in account creation, the B<uss> command
274interpreter automatically deletes that person from any ACLs set during the
275creation process.
276
277=back
278
279=head2 The E Instruction for Creating a Single-line File
280
281The C<E> instruction in a uss template file creates a file by echoing a
282specified character string into it. Its intended use is to create files in
283the user home directory created by the C<V> instruction in the template
284file, or in a subdirectory created by a C<D> instruction.
285
286Any number of C<E> instructions can appear in the template file. If the
287file resides in a directory created by a C<D> instruction, the C<E>
288instruction must follow the C<D> instruction in the file.
289
290The C<E> and C<F> instructions have complementary advantages. The
291character string echoed into the file by an C<E> instruction can be
292customized for each user, because it can include the standard variables
293for which the B<uss> command interpreter substitutes the values specified
294by arguments to the B<uss add> command or fields in a bulk input file
295B<add> instruction. In contrast, a file created using the C<F> instruction
296cannot include variables and so has the same content for all
297users. However, a file created by an C<E> instruction can be a single line
298only, because no carriage returns (newline characters) are allowed in the
299character string.
300
301Although it is possible to use the C<E> instruction to create a file on
302the local disk of the machine where the B<uss> command is issued, it is
303not recommended. The main complication is that
304designating any user other than the issuer as the new file's owner
305requires logging onto the machine as the local superuser C<root>. For
306local disk files, only the local superuser C<root> is allowed to issue the
307UNIX B<chown> command that the B<uss> command interpreter invokes to
308change the owner from the default value (the file's creator, which in this
309case is the issuer of the B<uss> command). The issuer must then also use
310the B<-admin> argument to the B<uss add> or B<uss bulk> command to
311authenticate as a privileged AFS administrator, which is required for
312creating the Authentication Database and Protection Database entries that
313the B<uss> command interpreter always creates for a new account.
314
315The instruction has the following syntax:
316
317 E <pathname> <mode> <owner> "<contents>"
318
319where
320
321=over 4
322
323=item E
324
325Indicates a file creation instruction. It must be a capital letter.
326
327=item <pathname>
328
329Specifies the file's full pathname. It can include variables.
330
331Specify the read/write path to the file, to avoid the failure that results
332from attempting to create a new file in a read-only volume. By convention,
333the read/write path is indicated by placing a period before the cell name
334at the pathname's second level (for example, F</afs/.example.com>). For
335further discussion of the concept of read/write and read-only paths
336through the filespace, see the reference page for the B<fs mkmount>
337command.
338
339=item <mode>
340
341Sets the file's UNIX mode bits. Acceptable values are the standard three-
342or four-digit numbers corresponding to combinations of
343permissions. Examples: C<755> corresponds to C<rwxr-xr-x>, and C<644> to
344C<rw-r--r-->.
345
346=item <owner>
347
348Specifies the username or UNIX user ID (UID) of the user to be designated
349the file's owner in the output from the UNIX C<ls -l> command. If the file
350resides in AFS, place the $UID variable in this field. If the file
351resides on the local disk, specify the username or UID of the B<uss>
352command's issuer; otherwise, the account creation operation halts
353immediately.
354
355=item <contents>
356
357Specifies the one-line character string to write into the new file.
358Surround it with double quotes if it contains one or more spaces. It
359cannot contain the newline character, but can contain any of the standard
360variables, which the command interpreter resolves as it creates the file.
361
362=back
363
364=head2 The F Instruction for Creating a File from a Prototype
365
366The C<F> instruction in a uss template file creates a file by copying the
367contents of an existing file (the <prototype>) into it. Its intended use
368is to create files in the user home directory created by the C<V>
369instruction in the template file, or in a subdirectory created by a C<D>
370instruction.
371
372Any number of C<F> instructions can appear in the template file. If the
373file resides in a directory created by a C<D> instruction, the C<F>
374instruction must follow the C<D> instruction in the file.
375
376The C<E> and C<F> instructions have complementary advantages. A file
377created using the C<F> instruction has the same content for all users,
378whereas a file created by an C<E> instruction can be customized for each
379user if it includes variables. However, a file created by an C<E>
380instruction can be a single line only, whereas the prototype file copied
381by an C<F> instruction can be any length.
382
383Although it is possible to use the C<F> instruction to create a file on
384the local disk of the machine where the B<uss> command is issued, it is
385not recommended. The main complication is that
386designating any user other than the issuer as the new file's owner
387requires logging onto the machine as the local superuser C<root>. For
388local disk files, only the local superuser C<root> is allowed to issue the
389UNIX B<chown> command that the B<uss> command interpreter invokes to
390change the owner from the default value (the file's creator, which in this
391case is the issuer of the B<uss> command). The issuer must then also use
392the B<-admin> argument to the B<uss add> or B<uss bulk> command to
393authenticate as a privileged AFS administrator, which is required for
394creating the Authentication Database and Protection Database entries that
395the B<uss> command interpreter always creates for a new account.
396
397The instruction has the following syntax:
398
399 F <pathname> <mode> <owner> <prototype_file>
400
401where
402
403=over 4
404
405=item F
406
407Indicates a file creation instruction. It must be a capital letter.
408
409=item <pathname>
410
411Specifies the full pathname of the file to create, including the
412filename. It can include variables.
413
414Specify the read/write path to the file, to avoid the failure that results
415from attempting to create a new file in a read-only volume. By convention,
416the read/write path is indicated by placing a period before the cell name
417at the pathname's second level (for example, F</afs/.example.com>). For
418further discussion of the concept of read/write and read-only paths
419through the filespace, see the reference page for the B<fs mkmount>
420command.
421
422=item <mode>
423
424Sets the file's UNIX mode bits. Acceptable values are the standard three-
425or four-digit numbers corresponding to combinations of
426permissions. Examples: C<755> corresponds to C<rwxr-xr-x>, and C<644> to
427C<rw-r--r-->.
428
429=item <owner>
430
431Specifies the username or UNIX user ID (UID) of the user to be designated
432the file's owner in the output from the UNIX C<ls -l> command. If the file
433resides in AFS, place the $UID variable in this field. If the file
434resides on the local disk, specify the username or UID of the B<uss>
435command's issuer; otherwise, the account creation operation halts
436immediately.
437
438=item <prototype_file>
439
440Names the AFS or local disk directory that houses the prototype file to
441copy. The prototype file's name must match the final element in the
442<pathname> field.
443
444=back
445
446=head2 The G Instruction for Even Distribution of Home Directories
447
448The C<G> instruction in a uss template file creates a directory as one of
449the set of directories from which the B<uss> command interpreter selects
450when choosing a new user home directory's parent directory. More
451specifically, when the $AUTO variable appears in the <mount_point>
452field of a C<V> instruction, the command interpreter substitutes for it
453the directory defined by a C<G> instruction that currently has the fewest
454entries.
455
456The instruction's intended use is to distribute user accounts evenly among
457several directories, rather than using directories that reflect divisions
458such as departmental affiliation. Distributing home directories in this
459fashion is useful mainly in very large cells where storing all user home
460directories under a single parent directory potentially slows directory
461lookup, or where a workplace-based division results in unevenly sized
462directories such that some users consistently experience slower directory
463lookup than others. See the chapter on B<uss> in the I<OpenAFS
464Administration Guide> for more information.
465
466Any number of C<G> instructions can appear in the template file. If the
467C<V> instruction includes the $AUTO variable, it must appear after all
468of the C<G> instructions in the file.
469
470The instruction has the following syntax:
471
472 G <directory>
473
474where
475
476=over 4
477
478=item G
479
480Indicates an instruction that creates a directory to be considered as a
481value for the $AUTO variable. It must be a capital letter.
482
483=item <directory>
484
485Specifies the directory's name as either a complete pathname or only the
486directory name. The choice determines the appropriate format for the
487<mount_point> field of a C<V> instruction, as discussed in the following
488example.
489
490Specify the read/write path to the directory, to avoid the failure that
491results from attempting to create a new mount point in a read-only volume
492when the $AUTO variable is used in a C<V> instruction's <mount_point>
493field. By convention, the read/write path is indicated by placing a period
494before the cell name at the pathname's second level (for example,
495F</afs/.example.com>). For further discussion of the concept of read/write and
496read-only paths through the filespace, see the reference page for the B<fs
497mkmount> command.
498
499=back
500
501=head2 The L and S Instructions for Creating a Link
502
503The C<L> instruction in a uss template file creates a hard link between
504two files, as achieved by the standard UNIX B<ln> command. The C<S>
505instruction creates a symbolic link between two files, as achieved by the
506standard UNIX C<ln -s> command. A full explanation of links is beyond the
507scope of this document, but the basic effect is to create a second name
508for an existing file, enabling access via either name. Creating a link
509does not create a second copy of the file.
510
511AFS allows hard links only if the linked files reside in the same
512directory, because it becomes difficult to determine which access control
513list (ACL) applies to the file if the two copies reside in directories
514with different ACLs. AFS allows symbolic links between two files that
515reside in different directories, or even different volumes. The File
516Server uses the ACL associated with the actual file rather than the link.
517
518Any number of C<L> and C<S> instructions can appear in the template
519file. If the existing file or link is to reside in a directory created by
520a C<D> instruction, or if the existing file was created by an C<E> or C<F>
521instruction, the C<L> or C<S> instruction must follow the C<D>, C<E>, or
522C<F> instruction.
523
524The instructions share the following syntax:
525
526 L <existing_file> <link>
527 S <existing_file> <link>
528
529where
530
531=over 4
532
533=item L
534
535Indicates a hard link creation instruction. It must be a capital letter.
536
537=item S
538
539Indicates a symbolic link creation instruction. It must be a capital
540letter.
541
542=item <existing_file>
543
544Specifies the complete pathname of the existing file.
545
546=item <link>
547
548Specifies the complete pathname of the second name for the file.
549
550Specify the read/write path to the link, to avoid the failure that results
551from attempting to create a new link in a read-only volume. By convention,
552the read/write path is indicated by placing a period before the cell name
553at the pathname's second level (for example, F</afs/.example.com>). For
554further discussion of the concept of read/write and read-only paths
555through the filespace, see the reference page for the B<fs mkmount>
556command.
557
558=back
559
560=head2 The V Instruction for Creating and Mounting a Volume
561
562The C<V> instruction in a uss template file creates a volume on a
563specified file server machine and partition and creates an entry for it in
564the Volume Location Database (VLDB). It mounts the volume at a location in
565the AFS file space that becomes the user's home directory, then designates
566the directory's owner and sets its access control list (ACL).
567
568Only one C<V> instruction can appear in the template file, and one must
569appear if the template file contains any instructions at all (is not
570empty). All other instructions are optional, except that the template must
571include C<G> instructions if the $AUTO variable appears in it. (The
572C<V> instruction is not necessarily the first line in the template. If the
573template includes the $AUTO variable, then the C<G> instructions which
574provide values for the variable must precede it in the file.)
575
576The instruction has the following syntax:
577
578 V <vname> <server> <partition> <quota> <mount_point> <owner> <ACL>
579
580where
581
582=over 4
583
584=item V
585
586Indicates a volume creation instruction. It must be a capital letter.
587
588=item <name>
589
590Specifies the volume's name. To follow the convention for AFS user volume
591names, specify the value C<user.$USER>. Provide a value for the $USER
592variable via the B<uss add> command's B<-user> argument or the <username>
593field in the bulk input file B<add> instruction.
594
595=item <server>
596
597Names the file server machine on which to create the new user's volume. It
598is best to provide the fully-qualified hostname (for example,
599C<fs1.example.com>), but an abbreviated form is acceptable provided that the
600cell's naming service is available to resolve it at the time the volume is
601created. To read in the value from the B<uss add> command's B<-server>
602argument, specify the value $SERVER.
603
604=item <partition>
605
606Specifies the partition on which to create the user's volume; it must be
607on the file server machine named in the <server> field. Identify the
608partition by its complete name (for example, F</vicepa>) or use or use one
609of the following abbreviations.
610
611 /vicepa = vicepa = a = 0
612 /vicepb = vicepb = b = 1
613
614After F</vicepz> (for which the index is 25) comes
615
616 /vicepaa = vicepaa = aa = 26
617 /vicepab = vicepab = ab = 27
618
619and so on through
620
621 /vicepiv = vicepiv = iv = 255
622
623To read in the value from the B<uss add> command's B<-partition> argument,
624specify the value $PART.
625
626=item <quota>
627
628Sets the maximum number of kilobyte blocks the volume can occupy on the
629file server machine's disk. Specify an integer constant if all volumes
630have the same quota (C<1024> equals a megabyte), or use one of the number
631variables ($1 through $9) to assign different values to different volumes.
632
633=item <mount_point>
634
635Creates a mount point for the volume, which serves as the volume's root
636directory. Include the $USER variable as part of the pathname to follow
637the convention that user home directory names include the username.
638
639Specify the read/write path to the mount point, to avoid the failure that
640results from attempting to create a new mount point in a read-only
641volume. By convention, the read/write path is indicated by placing a
642period before the cell name at the pathname's second level (for example,
643F</afs/.example.com>). If the $AUTO variable appears in this field, the
644directories named by each C<G> instruction possibly already indicate the
645read/write path. For further discussion of the concept of read/write and
646read-only paths through the filespace, see the reference page for the B<fs
647mkmount> command.
648
649=item <owner>
650
651Specifies the username or UNIX user ID (UID) of the user to be designated
652the mount point's owner in the output from the UNIX C<ls -ld> command. To
653follow the convention for home directory ownership, place the value
654$UID in this field.
655
656=item <ACL>
657
658Sets the ACL on the new directory. Provide one or more paired values, each
659pair consisting of an AFS username or group name and the desired
660permissions, in that order. Separate the two parts of the pair, and each
661pair, with a space. The B<fs setacl> reference page describes the
662available permissions.
663
664Grant all permissions to the new user at least. The appropriate
665value is C<$USER all>.
666
667AFS automatically grants the system:administrators group all permissions
668as well. It is not possible to grant any permissions to the issuer of the
669B<uss> command. As the last step in account creation, the B<uss> command
670interpreter automatically deletes that user from any ACLs set during the
671creation process.
672
673=back
674
675=head2 The X Instruction for Running a Command
676
677The C<X> instruction in a uss template file runs the indicated command,
678which can be a standard UNIX or AFS command. It can include any variables
679from the template file, which the B<uss> command interpreter resolves
680before passing the command on to the appropriate other command
681interpreter. It must be a single line only, however (cannot contain
682carriage returns or newline characters).
683
684Any number of C<X> instructions can appear in the template file. If an
685instruction manipulates an element created by another instruction, it must
686follow that instruction in the file.
687
688The instruction has the following syntax:
689
690 X "<command>"
691
692where
693
694=over 4
695
696=item X
697
698Indicates a command execution instruction. It must be a capital letter.
699
700=item <command>
701
702Specifies the command to run. Surround it with double quotes as shown if
703it contains one or more spaces. It can contain any variables from the
704template file, but not newline characters.
705
706=back
707
708=head1 EXAMPLES
709
710The following example A instruction sets a password lifetime of 254 days,
711prohibits password reuse, limits the number of consecutive failed
712authentication attempts to nine and sets the corresponding locktime to
71325:30 minutes (which is a multiple of 8.5 minutes). The username is read
714in from the B<-user> argument to the B<uss add> command or from the
715I<username> field in each C<add> instruction in a bulk input file.
716
717 A $USER 254 noreuse 9 25:30
718
719The following example C<D> instruction creates a directory called
720F<public> in a new user's home directory, designates the user as the
721directory's owner, and grants him or her all ACL permissions.
722
723 D $MTPT/public 0755 $UID $USER all
724
725The following example C<E> instruction creates a file in the current
726working directory called F<I<username>.etcp>. The contents are an entry
727suitable for incorporating into the cell's global F</etc/password> file.
728
729 E $USER.etcp 0644 root "$USER:X:$UID:10:$NAME:$MTPT:/bin/csh"
730
731The following example C<F> instruction, appropriate for the Example
732Corporation cell, copies a prototype F<.login> file into the user's home
733directory.
734
735 F $MTPT/.login 0644 $UID /afs/example.com/common/uss/skel/.login
736
737In the following example, the Example Organization cell's administrators
738have decided to distribute user home directories evenly into three
739directories. They define three C<G> instructions:
740
741 G usr1
742 G usr2
743 G usr3
744
745and then put the following value in the <mount_point> field of the C<V>
746instruction:
747
748 /afs/example.org/$AUTO/$USER
749
750Alternatively, if they include the entire directory pathname in the C<G>
751instruction:
752
753 G /afs/example.org/usr1
754 G /afs/example.org/usr2
755 G /afs/example.org/usr3
756
757then the <mount_point> field of the C<V> instruction specifies only the
758following:
759
760 $AUTO/$USER
761
762The following example C<L> instruction creates a hard link between the
763files F<mail> and F<mbox> in the user's home directory.
764
765 L $MTPT/mbox $MTPT/mail
766
767The following example C<S> instruction, appropriate for the Example
768Corporation cell, links the file F<Mail/outgoing> in the user's home
769directory to the file F</afs/example.com/common/mail/outgoing>.
770
771 S /afs/example.com/common/mail/outgoing $MTPT/Mail/outgoing
772
773The following example C<V> instruction creates a volume called
774C<user.I<username>> on the F</vicepa> partition of the specified file
775server machine, assigning it a quota of 3000 kilobyte blocks. The mount
776point is under F</afs/example.com/usr> and matches the username (the value of
777the $USER variable). The user owns the home directory and has all
778access rights to it. The instruction appears on two lines only for
779legibility; it must appear on a single line in the template file.
780
781 V user.$USER $SERVER.example.com /vicepa 3000 \
782 /afs/example.com/usr/$USER $UID $USER all
783
784The following example C<X> instruction mounts the backup version of the
785user's volume at the F<OldFiles> subdirectory.
786
787 X "fs mkm /afs/example.com/usr/$USER/OldFiles user.$USER.backup"
788
789=head1 SEE ALSO
790
791L<uss_bulk(5)>,
792L<fs_mkmount(1)>,
793L<uss_add(8)>
794
795=head1 COPYRIGHT
796
797IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
798
799This documentation is covered by the IBM Public License Version 1.0. It was
800converted from HTML to POD by software written by Chas Williams and Russ
801Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.