darwin-build-updates-20010910
[openafs.git] / doc / html / QuickStartUnix / auqbg007.htm
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 4//EN">
2 <HTML><HEAD>
3 <TITLE>Quick Beginnings</TITLE>
4 <!-- Begin Header Records  ========================================== -->
5 <!-- /tmp/idwt3574/auqbg000.scr converted by idb2h R4.2 (359) ID      -->
6 <!-- Workbench Version (AIX) on 2 Oct 2000 at 12:25:35                -->
7 <META HTTP-EQUIV="updated" CONTENT="Mon, 02 Oct 2000 12:25:35">
8 <META HTTP-EQUIV="review" CONTENT="Tue, 02 Oct 2001 12:25:35">
9 <META HTTP-EQUIV="expires" CONTENT="Wed, 02 Oct 2002 12:25:35">
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>Quick Beginnings</H1>
16 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg006.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="auqbg008.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
17 <P>
18 <A NAME="IDX2926"></A>
19 <A NAME="IDX2927"></A>
20 <HR><H1><A NAME="HDRWQ133" HREF="auqbg002.htm#ToC_115">Installing Additional Client Machines</A></H1>
21 <P>This chapter describes how to install AFS client machines
22 after you have installed the first AFS machine. Some parts of the
23 installation differ depending on whether or not the new client is of the same
24 AFS system type (uses the same AFS binaries) as a previously installed client
25 machine.
26 <A NAME="IDX2928"></A>
27 <HR><H2><A NAME="Header_116" HREF="auqbg002.htm#ToC_116">Summary of Procedures</A></H2>
28 <OL TYPE=1>
29 <P><LI>Incorporate AFS into the machine's kernel
30 <P><LI>Define the machine's cell membership
31 <P><LI>Define cache location and size
32 <P><LI>Create the <B>/usr/vice/etc/CellServDB</B> file, which determines
33 which foreign cells the client can access in addition to the local cell
34 <P><LI>Create the <B>/afs</B> directory and start the Cache Manager
35 <P><LI>Create and mount volumes for housing AFS client binaries (necessary only
36 for clients of a new system type)
37 <P><LI>Create a link from the local <B>/usr/afsws</B> directory to the AFS
38 directory housing the AFS client binaries
39 <P><LI>Modify the machine's authentication system to enable AFS users to
40 obtain tokens at login
41 </OL>
42 <A NAME="IDX2929"></A>
43 <A NAME="IDX2930"></A>
44 <A NAME="IDX2931"></A>
45 <A NAME="IDX2932"></A>
46 <A NAME="IDX2933"></A>
47 <A NAME="IDX2934"></A>
48 <A NAME="IDX2935"></A>
49 <HR><H2><A NAME="HDRWQ134" HREF="auqbg002.htm#ToC_117">Creating AFS Directories on the Local Disk</A></H2>
50 <P>Create the <B>/usr/vice/etc</B> directory on the local
51 disk, to house client binaries and configuration files. Subsequent
52 instructions copy files from the AFS CD-ROM into them. Create the
53 <B>/cdrom</B> directory as a mount point for the CD-ROM, if it does not
54 already exist.
55 <PRE>      
56    # <B>mkdir /usr/vice</B>
57       
58    # <B>mkdir /usr/vice/etc</B>
59    
60    # <B>mkdir /cdrom</B>
61    
62 </PRE>
63 <HR><H2><A NAME="HDRWQ135" HREF="auqbg002.htm#ToC_118">Performing Platform-Specific Procedures</A></H2>
64 <P>Every AFS client machine's kernel must incorporate AFS
65 modifications. Some system types use a dynamic kernel loader program,
66 whereas on other system types you build AFS modifications into a static
67 kernel. Some system types support both methods.
68 <P>Also modify the machine's authentication system so that users obtain
69 an AFS token as they log into the local file system. Using AFS is
70 simpler and more convenient for your users if you make the modifications on
71 all client machines. Otherwise, users must perform a two-step login
72 procedure (login to the local file system and then issue the <B>klog</B>
73 command). For further discussion of AFS authentication, see the chapter
74 in the <I>IBM AFS Administration Guide</I> about cell configuration and
75 administration issues.
76 <P>For convenience, the following sections group the two procedures by system
77 type. Proceed to the appropriate section.
78 <UL>
79 <P><LI><A HREF="#HDRWQ136">Getting Started on AIX Systems</A>
80 <P><LI><A HREF="#HDRWQ137">Getting Started on Digital UNIX Systems</A>
81 <P><LI><A HREF="#HDRWQ138">Getting Started on  HP-UX Systems</A>
82 <P><LI><A HREF="#HDRWQ139">Getting Started on IRIX Systems</A>
83 <P><LI><A HREF="#HDRWQ143">Getting Started on Linux Systems</A>
84 <P><LI><A HREF="#HDRWQ144">Getting Started on Solaris Systems</A>
85 </UL>
86 <A NAME="IDX2936"></A>
87 <A NAME="IDX2937"></A>
88 <A NAME="IDX2938"></A>
89 <A NAME="IDX2939"></A>
90 <A NAME="IDX2940"></A>
91 <A NAME="IDX2941"></A>
92 <A NAME="IDX2942"></A>
93 <A NAME="IDX2943"></A>
94 <A NAME="IDX2944"></A>
95 <HR><H2><A NAME="HDRWQ136" HREF="auqbg002.htm#ToC_119">Getting Started on AIX Systems</A></H2>
96 <P>In this section you load AFS into the AIX kernel.
97 Then incorporate AFS modifications into the machine's secondary
98 authentication system, if you wish to enable AFS login.
99 <P><H3><A NAME="Header_120" HREF="auqbg002.htm#ToC_120">Loading AFS into the AIX Kernel</A></H3>
100 <P>The AIX kernel extension facility is the dynamic kernel loader provided
101 by IBM Corporation. AIX does not support incorporation of AFS
102 modifications during a kernel build.
103 <P>For AFS to function correctly, the kernel extension facility must run each
104 time the machine reboots, so the AFS initialization script (included in the
105 AFS distribution) invokes it automatically. In this section you copy
106 the script to the conventional location and edit it to select the appropriate
107 options depending on whether NFS is also to run.
108 <P>After editing the script, you run it to incorporate AFS into the
109 kernel. In a later section you verify that the script correctly
110 initializes the Cache Manager, then configure the AIX <B>inittab</B> file
111 so that the script runs automatically at reboot.
112 <OL TYPE=1>
113 <P><LI>Mount the AFS CD-ROM for AIX on the local <B>/cdrom</B>
114 directory. For instructions on mounting CD-ROMs (either locally or
115 remotely via NFS), see your AIX documentation. Then change directory as
116 indicated. 
117 <PRE>   
118    # <B>cd  /cdrom/rs_aix42/root.client/usr/vice/etc</B>
119    
120 </PRE>
121 <P><LI>Copy the AFS kernel library files to the local
122 <B>/usr/vice/etc/dkload</B> directory, and the AFS initialization script
123 to the <B>/etc</B> directory. 
124 <PRE>   
125    # <B>cp -rp  dkload  /usr/vice/etc</B>
126    
127    # <B>cp -p  rc.afs  /etc/rc.afs</B>
128     
129 </PRE>
130 <P><LI>Edit the <B>/etc/rc.afs</B> script, setting the <TT>NFS</TT>
131 variable as indicated.
132 <P>If the machine is not to function as an NFS/AFS Translator, set the
133 <TT>NFS</TT> variable as follows.
134 <PRE>      
135    NFS=$NFS_NONE
136 </PRE> 
137 <P>If the machine is to function as an NFS/AFS Translator and is running AIX
138 4.2.1 or higher, set the <TT>NFS</TT> variable as
139 follows. Note that NFS must already be loaded into the kernel, which
140 happens automatically on systems running AIX 4.1.1 and later, as
141 long as the file <B>/etc/exports</B> exists.
142 <PRE>   
143    NFS=$NFS_IAUTH
144    
145 </PRE>
146 <P><LI>Invoke the <B>/etc/rc.afs</B> script to load AFS modifications
147 into the kernel. You can ignore any error messages about the inability
148 to start the BOS Server or the Cache Manager or AFS client.
149 <PRE>   
150    # <B>/etc/rc.afs</B>
151    
152 </PRE>
153 </OL>
154 <P><H3><A NAME="Header_121" HREF="auqbg002.htm#ToC_121">Enabling AFS Login on AIX Systems</A></H3>
155 <P>Now incorporate AFS into the AIX secondary authentication
156 system.
157 <OL TYPE=1>
158 <P><LI>Issue the <B>ls</B> command to verify that the
159 <B>afs_dynamic_auth</B> and <B>afs_dynamic_kerbauth</B> programs are
160 installed in the local <B>/usr/vice/etc</B> directory. 
161 <PRE>   
162    # <B>ls /usr/vice/etc</B>   
163 </PRE> 
164 <P>If the files do not exist, mount the AFS CD-ROM for AIX (if it is not
165 already), change directory as indicated, and copy them.
166 <PRE>  
167    # <B>cd /cdrom/rs_aix42/root.client/usr/vice/etc</B>
168    
169    # <B>cp  -p  afs_dynamic*  /usr/vice/etc</B>
170    
171 </PRE>
172 <P><LI>Edit the local <B> /etc/security/user</B> file, making changes to the
173 indicated stanzas:
174 <UL>
175 <P><LI>In the default stanza, set the <TT>registry</TT> attribute to
176 <B>DCE</B> (not to <B>AFS</B>), as follows:
177 <PRE>   
178    registry = DCE
179    
180 </PRE>
181 <P><LI>In the default stanza, set the <TT>SYSTEM</TT> attribute as
182 indicated.
183 <P>If the machine is an AFS client only, set the following value:
184 <PRE>   
185    SYSTEM = "AFS OR (AFS[UNAVAIL] AND compat[SUCCESS])"   
186 </PRE> 
187 <P>If the machine is both an AFS and a DCE client, set the following value (it
188 must appear on a single line in the file):
189 <PRE>   
190    SYSTEM = "DCE OR DCE[UNAVAIL] OR AFS OR (AFS[UNAVAIL]  \
191        AND compat[SUCCESS])"
192    
193 </PRE>
194 <P><LI>In the <TT>root</TT> stanza, set the <TT>registry</TT> attribute as
195 follows. It enables the local superuser <B>root</B> to log into the
196 local file system only, based on the password listed in the local password
197 file.
198 <PRE>   
199    root:
200          registry = files
201    
202 </PRE>
203 </UL>
204 <P><LI>Edit the local <B>/etc/security/login.cfg</B> file, creating or
205 editing the indicated stanzas:
206 <UL>
207 <P><LI>In the <TT>DCE</TT> stanza, set the <TT>program</TT> attribute as
208 follows.
209 <P>If you use the AFS Authentication Server (<B>kaserver</B>
210 process):
211 <PRE>   
212    DCE:
213         program = /usr/vice/etc/afs_dynamic_auth   
214 </PRE> 
215 <P>If you use a Kerberos implementation of AFS authentication:
216 <PRE>   
217    DCE:
218         program = /usr/vice/etc/afs_dynamic_kerbauth
219    
220 </PRE>
221 <P><LI>In the <TT>AFS</TT> stanza, set the <TT>program</TT> attribute as
222 follows.
223 <P>If you use the AFS Authentication Server (<B>kaserver</B>
224 process):
225 <PRE>   
226    AFS:
227         program = /usr/vice/etc/afs_dynamic_auth   
228 </PRE> 
229 <P>If you use a Kerberos implementation of AFS authentication:
230 <PRE>   
231    AFS:
232         program = /usr/vice/etc/afs_dynamic_kerbauth
233    
234 </PRE>
235 </UL>
236 <P><LI>Proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
237 </OL>
238 <A NAME="IDX2945"></A>
239 <A NAME="IDX2946"></A>
240 <A NAME="IDX2947"></A>
241 <A NAME="IDX2948"></A>
242 <A NAME="IDX2949"></A>
243 <A NAME="IDX2950"></A>
244 <A NAME="IDX2951"></A>
245 <A NAME="IDX2952"></A>
246 <A NAME="IDX2953"></A>
247 <HR><H2><A NAME="HDRWQ137" HREF="auqbg002.htm#ToC_122">Getting Started on Digital UNIX Systems</A></H2>
248 <P>In this section you build AFS into the Digital UNIX
249 kernel. Then incorporate AFS modifications into the machine's
250 Security Integration Architecture (SIA) matrix, if you wish to enable AFS
251 login.
252 <P><H3><A NAME="Header_123" HREF="auqbg002.htm#ToC_123">Building AFS into the Digital UNIX Kernel</A></H3>
253 <P>On Digital UNIX systems, you must build AFS modifications into a new
254 static kernel; Digital UNIX does not support dynamic loading. If
255 the machine's hardware and software configuration exactly matches another
256 Digital UNIX machine on which AFS is already built into the kernel, you can
257 choose to copy the kernel from that machine to this one. In general,
258 however, it is better to build AFS modifications into the kernel on each
259 machine according to the following instructions.
260 <OL TYPE=1>
261 <P><LI>Create a copy called <B>AFS</B> of the basic kernel configuration file
262 included in the Digital UNIX distribution as
263 <B>/usr/sys/conf/</B><VAR>machine_name</VAR>, where <VAR>machine_name</VAR> is
264 the machine's hostname in all uppercase letters. 
265 <PRE>   
266    # <B>cd /usr/sys/conf</B>
267    
268    # <B>cp</B> <VAR>machine_name</VAR> <B>AFS</B>
269    
270 </PRE>
271 <P><LI>Add AFS to the list of options in the configuration file you created in
272 the previous step, so that the result looks like the following: 
273 <PRE>          .                   .
274           .                   .
275        options               UFS
276        options               NFS
277        options               AFS
278           .                   .
279           .                   .
280    
281 </PRE>
282 <P><LI>Add an entry for AFS to two places in the file
283 <B>/usr/sys/conf/files</B>. 
284 <UL>
285 <P><LI>Add a line for AFS to the list of <TT>OPTIONS</TT>, so that the result
286 looks like the following:
287 <PRE>             .                .      .
288              .                .      .
289       OPTIONS/nfs          optional nfs 
290       OPTIONS/afs          optional afs 
291       OPTIONS/nfs_server   optional nfs_server
292              .                .      .
293              .                .      .
294    
295 </PRE>
296 <P><LI>Add an entry for AFS to the list of <TT>MODULES</TT>, so that the result
297 looks like the following:
298 <PRE>             .                  .        .          .
299              .                  .        .          .
300       #
301       MODULE/nfs_server     optional nfs_server Binary
302       nfs/nfs_server.c      module nfs_server optimize -g3
303       nfs/nfs3_server.c     module nfs_server optimize -g3
304       #
305       MODULE/afs            optional afs Binary
306       afs/libafs.c          module afs
307       #
308    
309 </PRE>
310 </UL>
311 <P><LI>Add an entry for AFS to two places in the file
312 <B>/usr/sys/vfs/vfs_conf.c</B>. 
313 <UL>
314 <P><LI>Add AFS to the list of defined file systems, so that the result looks like
315 the following:
316 <PRE>        .       .              
317         .       .              
318      #include &lt;afs.h>
319      #if defined(AFS) &amp;&amp; AFS
320             extern struct vfsops afs_vfsops;
321      #endif  
322         .       .              
323         .       .              
324    
325 </PRE>
326 <P><LI>Put a declaration for AFS in the <B>vfssw[]</B> table's
327 MOUNT_ADDON slot, so that the result looks like the following: 
328 <PRE>        .                          .              .
329         .                          .              .
330       &amp;fdfs_vfsops,         "fdfs",   /* 12 = MOUNT_FDFS */
331    #if  defined(AFS)
332       &amp;afs_vfsops,          "afs",
333    #else
334       (struct vfsops *)0,   "",       /* 13 = MOUNT_ADDON */
335    #endif
336    #if NFS &amp;&amp; INFS_DYNAMIC   
337        &amp;nfs3_vfsops,        "nfsv3",  /* 14 = MOUNT_NFS3 */         
338    
339 </PRE>
340 </UL>
341 <P><LI>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
342 directory. For instructions on mounting CD-ROMs (either locally or
343 remotely via NFS), see your Digital UNIX documentation. Then change
344 directory as indicated.
345 <PRE>   
346    # <B>cd /cdrom/alpha_dux40/root.client</B>
347    
348 </PRE>
349 <P><LI>Copy the AFS initialization script to the local directory for
350 initialization files (by convention, <B>/sbin/init.d</B> on Digital
351 UNIX machines). Note the removal of the <B>.rc</B> extension
352 as you copy the script.
353 <PRE>   
354    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
355    
356 </PRE>
357 <P><LI>Copy the AFS kernel module to the local <B>/usr/sys/BINARY</B>
358 directory. 
359 <P>If the machine's kernel supports NFS server functionality:
360 <PRE>  
361    # <B>cp bin/libafs.o /usr/sys/BINARY/afs.mod</B>   
362 </PRE> 
363 <P>If the machine's kernel does not support NFS server
364 functionality:
365 <PRE>  
366    # <B>cp bin/libafs.nonfs.o /usr/sys/BINARY/afs.mod</B>
367    
368 </PRE>
369 <P><LI>Configure and build the kernel. Respond to any prompts by pressing
370 &lt;<B>Return</B>>. The resulting kernel resides in the file
371 <B>/sys/AFS/vmunix</B>. 
372 <PRE>   
373    # <B>doconfig -c AFS</B>
374    
375 </PRE>
376 <P><LI>Rename the existing kernel file and copy the new, AFS-modified file to the
377 standard location. 
378 <PRE>   
379    # <B>mv /vmunix /vmunix_noafs</B>
380    
381    # <B>cp /sys/AFS/vmunix /vmunix</B>
382    
383 </PRE>
384 <P><LI>Reboot the machine to start using the new kernel, and login again as the
385 superuser <B>root</B>. 
386 <PRE>   
387    # <B>cd /</B>
388    
389    # <B>shutdown -r now</B>
390    
391    login: <B>root</B>
392    Password: <VAR>root_password</VAR>
393    
394 </PRE>
395 </OL>
396 <P><H3><A NAME="Header_124" HREF="auqbg002.htm#ToC_124">Enabling AFS Login on Digital UNIX Systems</A></H3>
397 <P>On Digital UNIX systems, the AFS initialization script automatically
398 incorporates the AFS authentication library file into the Security Integration
399 Architecture (SIA) matrix on the machine, so that users with AFS accounts
400 obtain a token at login. In this section you copy the library file to
401 the appropriate location.
402 <P>For more information on SIA, see the Digital UNIX reference page for
403 <B>matrix.conf</B>, or consult the section on security in your
404 Digital UNIX documentation.
405 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If the machine runs both the DCE and AFS client software, AFS must start
406 after DCE. Consult the AFS initialization script for suggested symbolic
407 links to create for correct ordering. Also, the system startup script
408 order must initialize SIA before any long-running process that uses
409 authentication.
410 </TD></TR></TABLE>
411 <P>Perform the following steps to enable AFS login.
412 <OL TYPE=1>
413 <P><LI>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
414 directory, if it is not already. Change directory as indicated. 
415 <PRE>   
416    # <B>cd /cdrom/alpha_dux40/lib/afs</B>
417    
418 </PRE>
419 <P><LI>Copy the appropriate AFS authentication library file to the local
420 <B>/usr/shlib</B> directory. 
421 <P>If you use the AFS Authentication Server (<B>kaserver</B> process) in
422 the cell:
423 <PRE>   
424    # <B>cp  libafssiad.so  /usr/shlib</B>   
425 </PRE> 
426 <P>If you use a Kerberos implementation of AFS authentication, rename the
427 library file as you copy it:
428 <PRE>   
429    # <B>cp  libafssiad.krb.so  /usr/shlib/libafssiad.so</B>
430    
431 </PRE>
432 <P><LI>Proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
433 </OL>
434 <A NAME="IDX2954"></A>
435 <A NAME="IDX2955"></A>
436 <A NAME="IDX2956"></A>
437 <A NAME="IDX2957"></A>
438 <A NAME="IDX2958"></A>
439 <A NAME="IDX2959"></A>
440 <A NAME="IDX2960"></A>
441 <A NAME="IDX2961"></A>
442 <A NAME="IDX2962"></A>
443 <HR><H2><A NAME="HDRWQ138" HREF="auqbg002.htm#ToC_125">Getting Started on  HP-UX Systems</A></H2>
444 <P>In this section you build AFS into the HP-UX kernel.
445 Then incorporate AFS modifications into the machine's Pluggable
446 Authentication Module (PAM) system, if you wish to enable AFS login.
447 <P><H3><A NAME="Header_126" HREF="auqbg002.htm#ToC_126">Building AFS into the HP-UX Kernel</A></H3>
448 <P>On HP-UX systems, you must build AFS modifications into a new static
449 kernel; HP-UX does not support dynamic loading. If the
450 machine's hardware and software configuration exactly matches another
451 HP-UX machine on which AFS is already built into the kernel, you can choose to
452 copy the kernel from that machine to this one. In general, however, it
453 is better to build AFS modifications into the kernel on each machine according
454 to the following instructions.
455 <OL TYPE=1>
456 <P><LI>Move the existing kernel-related files to a safe location. 
457 <PRE>   
458    # <B>cp /stand/vmunix /stand/vmunix.noafs</B>
459    
460    # <B>cp /stand/system /stand/system.noafs</B>
461    
462 </PRE>
463 <P><LI>Mount the AFS CD-ROM for HP-UX on the local <B>/cdrom</B>
464 directory. For instructions on mounting CD-ROMs (either locally or
465 remotely via NFS), see your HP-UX documentation. Then change directory
466 as indicated. 
467 <PRE>   
468    # <B>cd /cdrom/hp_ux110/root.client</B>
469    
470 </PRE>
471 <P><LI>Copy the AFS initialization file to the local directory for initialization
472 files (by convention, <B>/sbin/init.d</B> on HP-UX
473 machines). Note the removal of the <B>.rc</B> extension as
474 you copy the file.
475 <PRE>   
476    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
477    
478 </PRE>
479 <P><LI>Copy the file <B>afs.driver</B> to the local
480 <B>/usr/conf/master.d</B> directory, changing its name to
481 <B>afs</B> as you do. 
482 <PRE>     
483    # <B>cp  usr/vice/etc/afs.driver  /usr/conf/master.d/afs</B>
484    
485 </PRE>
486 <P><LI>Copy the AFS kernel module to the local <B>/usr/conf/lib</B>
487 directory. 
488 <P>If the machine's kernel supports NFS server functionality:
489 <PRE>   
490    # <B>cp bin/libafs.a /usr/conf/lib</B>   
491 </PRE>
492 <P>If the machine's kernel does not support NFS server functionality,
493 change the file's name as you copy it:
494 <PRE>   
495    # <B>cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</B>
496    
497 </PRE>
498 <P><LI>Incorporate the AFS driver into the kernel, either using the
499 <B>SAM</B> program or a series of individual commands. 
500 <UL>
501 <P><LI>To use the <B>SAM</B> program: 
502 <OL TYPE=a>
503 <P><LI>Invoke the <B>SAM</B> program, specifying the hostname of the local
504 machine as <VAR>local_hostname</VAR>. The <B>SAM</B> graphical user
505 interface pops up. 
506 <PRE>   
507    # <B>sam -display</B> <VAR>local_hostname</VAR><B>:0</B> 
508    
509 </PRE>
510 <P><LI>Choose the <B>Kernel Configuration</B> icon, then the
511 <B>Drivers</B> icon. From the list of drivers, select
512 <B>afs</B>.
513 <P><LI>Open the pull-down <B>Actions</B> menu and choose the <B>Add Driver
514 to Kernel</B> option.
515 <P><LI>Open the <B>Actions</B> menu again and choose the <B>Create a New
516 Kernel</B> option.
517 <P><LI>Confirm your choices by choosing <B>Yes</B> and <B>OK</B> when
518 prompted by subsequent pop-up windows. The <B>SAM</B> program
519 builds the kernel and reboots the system.
520 <P><LI>Login again as the superuser <B>root</B>.
521 <PRE>   
522    login: <B>root</B>
523    Password: <VAR>root_password</VAR>
524    
525 </PRE>
526 </OL>
527 <P><LI>To use individual commands: 
528 <OL TYPE=a>
529 <P><LI>Edit the file <B>/stand/system</B>, adding an entry for <B>afs</B>
530 to the <TT>Subsystems</TT> section.
531 <P><LI>Change to the <B>/stand/build</B> directory and issue the
532 <B>mk_kernel</B> command to build the kernel. 
533 <PRE>   
534    # <B>cd /stand/build</B>
535       
536    # <B>mk_kernel</B>
537    
538 </PRE>
539 <P><LI>Move the new kernel to the standard location (<B>/stand/vmunix</B>),
540 reboot the machine to start using it, and login again as the superuser
541 <B>root</B>.
542 <PRE>   
543    # <B>mv /stand/build/vmunix_test /stand/vmunix</B>
544       
545    # <B>cd /</B>
546       
547    # <B>shutdown -r now</B>             
548    
549    login: <B>root</B>
550    Password: <VAR>root_password</VAR>
551    
552 </PRE>
553 </OL>
554 </UL>
555 </OL>
556 <P><H3><A NAME="Header_127" HREF="auqbg002.htm#ToC_127">Enabling AFS Login on HP-UX Systems</A></H3>
557 <P>At this point you incorporate AFS into the operating system's
558 Pluggable Authentication Module (PAM) scheme. PAM integrates all
559 authentication mechanisms on the machine, including login, to provide the
560 security infrastructure for authenticated access to and from the
561 machine.
562 <P>Explaining PAM is beyond the scope of this document. It is assumed
563 that you understand the syntax and meanings of settings in the PAM
564 configuration file (for example, how the <TT>other</TT> entry works, the
565 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
566 <TT>sufficient</TT>, and so on).
567 <P>The following instructions explain how to alter the entries in the PAM
568 configuration file for each service for which you wish to use AFS
569 authentication. Other configurations possibly also work, but the
570 instructions specify the recommended and tested configuration.
571 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">The instructions specify that you mark each entry as
572 <TT>optional</TT>. However, marking some modules as optional can mean
573 that they grant access to the corresponding service even when the user does
574 not meet all of the module's requirements. In some operating
575 system revisions, for example, if you mark as optional the module that
576 controls login via a dial-up connection, it allows users to login without
577 providing a password. See the <I>IBM AFS Release Notes</I> for a
578 discussion of any limitations that apply to this operating system. 
579 <P>Also, with some operating system versions you must install patches for PAM
580 to interact correctly with certain authentication programs. For
581 details, see the <I>IBM AFS Release Notes</I>.
582 </TD></TR></TABLE>
583 <P>The recommended AFS-related entries in the PAM configuration file make use
584 of one or more of the following three attributes.
585 <DL>
586 <P><DT><B><TT>try_first_pass</TT>
587 </B><DD>This is a standard PAM attribute that can be included on entries after the
588 first one for a service; it directs the module to use the password that
589 was provided to the first module. For the AFS module, it means that AFS
590 authentication succeeds if the password provided to the module listed first is
591 the user's correct AFS password. For further discussion of this
592 attribute and its alternatives, see the operating system's PAM
593 documentation.
594 <P><DT><B><TT>ignore_root</TT>
595 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
596 only the local superuser <B> root</B>, but also any user with UID 0
597 (zero).
598 <P><DT><B><TT>setenv_password_expires</TT>
599 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
600 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
601 password, which is recorded in the Authentication Database.
602 </DL>
603 <P>Perform the following steps to enable AFS login.
604 <OL TYPE=1>
605 <P><LI>Mount the AFS CD-ROM for HP-UX on the <B>/cdrom</B> directory, if it
606 is not already. Then change directory as indicated.
607 <PRE>  
608    # <B>cd /usr/lib/security</B>
609    
610 </PRE>
611 <P><LI>Copy the AFS authentication library file to the
612 <B>/usr/lib/security</B> directory. Then create a symbolic link to
613 it whose name does not mention the version. Omitting the version
614 eliminates the need to edit the PAM configuration file if you later update the
615 library file. 
616 <P>If you use the AFS Authentication Server (<B>kaserver</B> process) in
617 the cell: 
618 <PRE>   
619    # <B>cp /cdrom/hp_ux110/lib/pam_afs.so.1  .</B>
620   
621    # <B>ln -s  pam_afs.so.1  pam_afs.so</B>   
622 </PRE> 
623 <P>If you use a Kerberos implementation of AFS authentication: 
624 <PRE>  
625    #<B> cp /cdrom/hp_ux110/lib/pam_afs.krb.so.1   .</B>
626   
627    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
628    
629 </PRE>
630 <P><LI>Edit the <TT>Authentication management</TT> section of the HP-UX PAM
631 configuration file, <B>/etc/pam.conf</B> by convention. The
632 entries in this section have the value <TT>auth</TT> in their second
633 field. 
634 <P>First edit the standard entries, which refer to the HP-UX PAM module
635 (usually, the file <B>/usr/lib/security/libpam_unix.1</B>) in their
636 fourth field. For each service for which you want to use AFS
637 authentication, edit the third field of its entry to read
638 <TT>optional</TT>. The <B>pam.conf</B> file in the HP-UX
639 distribution usually includes standard entries for the <B>login</B> and
640 <B>ftp</B> services, for instance. 
641 <P>If there are services for which you want to use AFS authentication, but for
642 which the <B>pam.conf</B> file does not already include a standard
643 entry, you must create that entry and place the value <TT>optional</TT> in
644 its third field. For instance, the HP-UX <B>pam.conf</B>
645 file does not usually include standard entries for the <B>remsh</B> or
646 <B>telnet</B> services. 
647 <P>Then create an AFS-related entry for each service, placing it immediately
648 below the standard entry. The following example shows what the
649 <TT>Authentication Management</TT> section looks like after you have you
650 edited or created entries for the services mentioned previously. Note
651 that the example AFS entries appear on two lines only for legibility. 
652 <PRE>   
653    login   auth  optional  /usr/lib/security/libpam_unix.1
654    login   auth  optional  /usr/lib/security/pam_afs.so      \
655          try_first_pass  ignore_root  setenv_password_expires
656    ftp     auth  optional  /usr/lib/security/libpam_unix.1
657    ftp     auth  optional  /usr/lib/security/pam_afs.so      \
658          try_first_pass  ignore_root
659    remsh   auth  optional  /usr/lib/security/libpam_unix.1
660    remsh   auth  optional  /usr/lib/security/pam_afs.so      \
661          try_first_pass  ignore_root            
662    telnet  auth  optional  /usr/lib/security/libpam_unix.1
663    telnet  auth  optional  /usr/lib/security/pam_afs.so      \
664          try_first_pass  ignore_root  setenv_password_expires
665    
666 </PRE>
667 <P><LI>If you use the Common Desktop Environment (CDE) on the machine and want
668 users to obtain an AFS token as they log in, also add or edit the following
669 four entries in the <TT>Authentication management</TT> section. Note
670 that the AFS-related entries appear on two lines here only for
671 legibility. 
672 <PRE>  
673    dtlogin   auth  optional  /usr/lib/security/libpam_unix.1
674    dtlogin   auth  optional  /usr/lib/security/pam_afs.so     \
675          try_first_pass  ignore_root
676    dtaction  auth  optional  /usr/lib/security/libpam_unix.1
677    dtaction  auth  optional  /usr/lib/security/pam_afs.so     \
678          try_first_pass  ignore_root
679    
680 </PRE>
681 <P><LI>Proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
682 </OL>
683 <A NAME="IDX2963"></A>
684 <A NAME="IDX2964"></A>
685 <A NAME="IDX2965"></A>
686 <HR><H2><A NAME="HDRWQ139" HREF="auqbg002.htm#ToC_128">Getting Started on IRIX Systems</A></H2>
687 <P>In this section you incorporate AFS into the IRIX kernel,
688 choosing one of two methods:
689 <UL>
690 <P><LI>Dynamic loading using the <B>ml</B> program distributed by Silicon
691 Graphics, Incorporated (SGI).
692 <P><LI>Building a new static kernel.
693 </UL>
694 <P>Then see <A HREF="#HDRWQ142">Enabling AFS Login on IRIX Systems</A> to read about integrated AFS login on IRIX systems.
695 <P>In preparation for either dynamic loading or kernel building, perform the
696 following procedures:
697 <OL TYPE=1>
698 <P><LI>Mount the AFS CD-ROM for IRIX on the <B>/cdrom</B> directory.
699 For instructions on mounting CD-ROMs (either locally or remotely via NFS), see
700 your IRIX documentation. Then change directory as indicated.
701 <PRE>   
702    # <B>cd  /cdrom/sgi_65/root.client</B>
703    
704 </PRE>
705 <P><LI>Copy the AFS initialization script to the local directory for
706 initialization files (by convention, <B>/etc/init.d</B> on IRIX
707 machines). Note the removal of the <B>.rc</B> extension as
708 you copy the script.
709 <PRE>   
710    # <B>cp -p   usr/vice/etc/afs.rc  /etc/init.d/afs</B>
711    
712 </PRE>
713 <P><LI>Issue the <B>uname -m</B> command to determine the machine's CPU
714 board type. The <B>IP</B><VAR>xx</VAR> value in the output must match
715 one of the supported CPU board types listed in the <I>IBM AFS Release
716 Notes</I> for the current version of AFS.
717 <PRE>   
718    # <B>uname -m</B>
719     
720 </PRE>
721 <P><LI>Proceed to either <A HREF="#HDRWQ140">Loading AFS into the IRIX Kernel</A> or <A HREF="#HDRWQ141">Building AFS into the IRIX Kernel</A>.
722 </OL>
723 <A NAME="IDX2966"></A>
724 <A NAME="IDX2967"></A>
725 <A NAME="IDX2968"></A>
726 <A NAME="IDX2969"></A>
727 <A NAME="IDX2970"></A>
728 <A NAME="IDX2971"></A>
729 <A NAME="IDX2972"></A>
730 <P><H3><A NAME="HDRWQ140" HREF="auqbg002.htm#ToC_129">Loading AFS into the IRIX Kernel</A></H3>
731 <P>The <B>ml</B> program is the dynamic kernel loader
732 provided by SGI for IRIX systems. If you use it rather than building
733 AFS modifications into a static kernel, then for AFS to function correctly the
734 <B>ml</B> program must run each time the machine reboots.
735 Therefore, the AFS initialization script (included on the AFS CD-ROM) invokes
736 it automatically when the <B>afsml</B> configuration variable is
737 activated. In this section you activate the variable and run the
738 script.
739 <P>In a later section you verify that the script correctly initializes the
740 Cache Manager, then create the links that incorporate AFS into the IRIX
741 startup and shutdown sequence.
742 <OL TYPE=1>
743 <P><LI>Create the local <B>/usr/vice/etc/sgiload</B> directory to house the
744 AFS kernel library file.
745 <PRE>   
746    # <B>mkdir /usr/vice/etc/sgiload</B>
747    
748 </PRE>
749 <P><LI>Copy the appropriate AFS kernel library file to the
750 <B>/usr/vice/etc/sgiload</B> directory. The
751 <B>IP</B><VAR>xx</VAR> portion of the library file name must match the value
752 previously returned by the <B>uname -m</B> command. Also choose the
753 file appropriate to whether the machine's kernel supports NFS server
754 functionality (NFS must be supported for the machine to act as an NFS/AFS
755 Translator). Single- and multiprocessor machines use the same library
756 file. 
757 <P>(You can choose to copy all of the kernel library files into the <B>
758 /usr/vice/etc/sgiload</B> directory, but they require a significant amount
759 of space.) 
760 <P>If the machine's kernel supports NFS server functionality:
761 <PRE>   
762    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.o  /usr/vice/etc/sgiload</B>   
763 </PRE> 
764 <P>If the machine's kernel does not support NFS server
765 functionality:
766 <PRE>   
767    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.nonfs.o</B>   \
768                    <B>/usr/vice/etc/sgiload</B>
769    
770 </PRE>
771 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afsml</B>
772 configuration variable. 
773 <PRE>   
774    # <B>/etc/chkconfig -f afsml on</B>   
775 </PRE> 
776 <P>If the machine is to function as an NFS/AFS Translator and the kernel
777 supports NFS server functionality, activate the <B>afsxnfs</B>
778 variable.
779 <PRE>   
780    # <B>/etc/chkconfig -f afsxnfs on</B>
781    
782 </PRE>
783 <P><LI>Run the <B>/etc/init.d/afs</B> script to load AFS extensions
784 into the kernel. The script invokes the <B>ml</B> command,
785 automatically determining which kernel library file to use based on this
786 machine's CPU type and the activation state of the <B>afsxnfs</B>
787 variable. 
788 <P>You can ignore any error messages about the inability to start the BOS
789 Server or the Cache Manager or AFS client.
790 <PRE>   
791    # <B>/etc/init.d/afs start</B>
792    
793 </PRE>
794 <P><LI>Proceed to <A HREF="#HDRWQ142">Enabling AFS Login on IRIX Systems</A>.
795 </OL>
796 <A NAME="IDX2973"></A>
797 <P><H3><A NAME="HDRWQ141" HREF="auqbg002.htm#ToC_130">Building AFS into the IRIX Kernel</A></H3>
798 <P>If you prefer to build a kernel, and the machine's
799 hardware and software configuration exactly matches another IRIX machine on
800 which AFS is already built into the kernel, you can choose to copy the kernel
801 from that machine to this one. In general, however, it is better to
802 build AFS modifications into the kernel on each machine according to the
803 following instructions.
804 <OL TYPE=1>
805 <P><LI>Copy the kernel initialization file <B>afs.sm</B> to the local
806 <B>/var/sysgen/system</B> directory, and the kernel master file
807 <B>afs</B> to the local <B>/var/sysgen/master.d</B>
808 directory.
809 <PRE>   
810    # <B>cp -p  bin/afs.sm  /var/sysgen/system</B>
811    
812    # <B>cp -p  bin/afs  /var/sysgen/master.d</B>
813    
814 </PRE>
815 <P><LI>Copy the appropriate AFS kernel library file to the local file
816 <B>/var/sysgen/boot/afs.a</B>; the <B>IP</B><VAR>xx</VAR>
817 portion of the library file name must match the value previously returned by
818 the <B>uname -m</B> command. Also choose the file appropriate to
819 whether the machine's kernel supports NFS server functionality (NFS must
820 be supported for the machine to act as an NFS/AFS Translator). Single-
821 and multiprocessor machines use the same library file. 
822 <P>If the machine's kernel supports NFS server functionality:
823 <PRE>   
824    # <B>cp -p   bin/libafs.IP</B><VAR>xx</VAR><B>.a   /var/sysgen/boot/afs.a</B>   
825 </PRE> 
826 <P>If the machine's kernel does not support NFS server
827 functionality:
828 <PRE>   
829    # <B>cp -p  bin/libafs.IP</B><VAR>xx</VAR><B>.nonfs.a  /var/sysgen/boot/afs.a</B>
830    
831 </PRE>
832 <P><LI>Issue the <B>chkconfig</B> command to deactivate the <B>afsml</B>
833 configuration variable. 
834 <PRE>   
835    # <B>/etc/chkconfig -f afsml off</B>   
836 </PRE> 
837 <P>If the machine is to function as an NFS/AFS Translator and the kernel
838 supports NFS server functionality, activate the <B>afsxnfs</B>
839 variable. 
840 <PRE>    
841    # <B>/etc/chkconfig -f afsxnfs on</B>
842    
843 </PRE>
844 <P><LI>Copy the existing kernel file, <B>/unix</B>, to a safe
845 location. Compile the new kernel, which is created in the file
846 <B>/unix.install</B>. It overwrites the existing
847 <B>/unix</B> file when the machine reboots in the next step. 
848 <PRE>   
849    # <B>cp /unix /unix_noafs</B>
850    
851    # <B>autoconfig</B>
852    
853 </PRE>
854 <P><LI>Reboot the machine to start using the new kernel, and login again as the
855 superuser <B>root</B>. 
856 <PRE>   
857    # <B>cd /</B>
858          
859    # <B>shutdown -i6 -g0 -y</B>
860    
861    login: <B>root</B>
862    Password: <VAR>root_password</VAR>
863    
864 </PRE>
865 <P><LI>Proceed to <A HREF="#HDRWQ142">Enabling AFS Login on IRIX Systems</A>.
866 </OL>
867 <A NAME="IDX2974"></A>
868 <A NAME="IDX2975"></A>
869 <A NAME="IDX2976"></A>
870 <P><H3><A NAME="HDRWQ142" HREF="auqbg002.htm#ToC_131">Enabling AFS Login on IRIX Systems</A></H3>
871 <P>The standard IRIX command-line <B>login</B> program and
872 the graphical <B>xdm</B> login program both automatically grant an AFS
873 token when AFS is incorporated into the machine's kernel. However,
874 some IRIX distributions use another login utility by default, and it does not
875 necessarily incorporate the required AFS modifications. If that is the
876 case, you must disable the default utility if you want AFS users to obtain AFS
877 tokens at login. For further discussion, see the <I>IBM AFS Release
878 Notes</I>.
879 <P>If you configure the machine to use an AFS-modified login utility, then the
880 <B>afsauthlib.so</B> and <B>afskauthlib.so</B> files
881 (included in the AFS distribution) must reside in the <B>/usr/vice/etc</B>
882 directory. Issue the <B>ls</B> command to verify.
883 <PRE>  
884    # <B>ls /usr/vice/etc</B>   
885 </PRE>
886 <P>If the files do not exist, mount the AFS CD-ROM for IRIX (if it is not
887 already), change directory as indicated, and copy them.
888 <PRE>  
889    # <B>cd /cdrom/sgi_65/root.client/usr/vice/etc</B>
890    
891    # <B>cp  -p  *authlib*  /usr/vice/etc</B>   
892 </PRE>
893 <P>After taking any necessary action, proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
894 <A NAME="IDX2977"></A>
895 <A NAME="IDX2978"></A>
896 <A NAME="IDX2979"></A>
897 <A NAME="IDX2980"></A>
898 <A NAME="IDX2981"></A>
899 <A NAME="IDX2982"></A>
900 <A NAME="IDX2983"></A>
901 <A NAME="IDX2984"></A>
902 <A NAME="IDX2985"></A>
903 <HR><H2><A NAME="HDRWQ143" HREF="auqbg002.htm#ToC_132">Getting Started on Linux Systems</A></H2>
904 <P>In this section you load AFS into the Linux kernel.
905 Then incorporate AFS modifications into the machine's Pluggable
906 Authentication Module (PAM) system, if you wish to enable AFS login.
907 <P><H3><A NAME="Header_133" HREF="auqbg002.htm#ToC_133">Loading AFS into the Linux Kernel</A></H3>
908 <P>The <B>insmod</B> program is the dynamic kernel loader for
909 Linux. Linux does not support incorporation of AFS modifications during
910 a kernel build.
911 <P>For AFS to function correctly, the <B>insmod</B> program must run each
912 time the machine reboots, so the AFS initialization script (included on the
913 AFS CD-ROM) invokes it automatically. The script also includes commands
914 that select the appropriate AFS library file automatically. In this
915 section you run the script.
916 <P>In a later section you also verify that the script correctly initializes
917 the Cache Manager, then activate a configuration variable, which results in
918 the script being incorporated into the Linux startup and shutdown
919 sequence.
920 <OL TYPE=1>
921 <P><LI>Mount the AFS CD-ROM for Linux on the local <B>/cdrom</B>
922 directory. For instructions on mounting CD-ROMs (either locally or
923 remotely via NFS), see your Linux documentation. Then change directory
924 as indicated. 
925 <PRE>   
926    # <B>cd  /cdrom/i386_linux22/root.client/usr/vice/etc</B>
927    
928 </PRE>
929 <P><LI>Copy the AFS kernel library files to the local
930 <B>/usr/vice/etc/modload</B> directory. The filenames for the
931 libraries have the format
932 <B>libafs-</B><VAR>version</VAR><B>.o</B>, where <VAR>version</VAR>
933 indicates the kernel build level. The string <B>.mp</B> in
934 the <VAR>version</VAR> indicates that the file is appropriate for machines
935 running a multiprocessor kernel. 
936 <PRE>   
937    # <B>cp -rp  modload  /usr/vice/etc</B>
938    
939 </PRE>
940 <P><LI>Copy the AFS initialization script to the local directory for
941 initialization files (by convention, <B>/etc/rc.d/init.d</B>
942 on Linux machines). Note the removal of the <B>.rc</B>
943 extension as you copy the script.
944 <PRE>   
945    # <B>cp -p   afs.rc  /etc/rc.d/init.d/afs</B> 
946     
947 </PRE>
948 <P><LI>Run the AFS initialization script to load AFS extensions into the
949 kernel. You can ignore any error messages about the inability to start
950 the BOS Server or the Cache Manager or AFS client.
951 <PRE>   
952    # <B>/etc/rc.d/init.d/afs  start</B>
953    
954 </PRE>
955 </OL>
956 <P><H3><A NAME="Header_134" HREF="auqbg002.htm#ToC_134">Enabling AFS Login on Linux Systems</A></H3>
957 <P>At this point you incorporate AFS into the operating system's
958 Pluggable Authentication Module (PAM) scheme. PAM integrates all
959 authentication mechanisms on the machine, including login, to provide the
960 security infrastructure for authenticated access to and from the
961 machine.
962 <P>Explaining PAM is beyond the scope of this document. It is assumed
963 that you understand the syntax and meanings of settings in the PAM
964 configuration file (for example, how the <TT>other</TT> entry works, the
965 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
966 <TT>sufficient</TT>, and so on).
967 <P>The following instructions explain how to alter the entries in the PAM
968 configuration file for each service for which you wish to use AFS
969 authentication. Other configurations possibly also work, but the
970 instructions specify the recommended and tested configuration.
971 <P>The recommended AFS-related entries in the PAM configuration file make use
972 of one or more of the following three attributes.
973 <DL>
974 <h4><br>Authentication Management</h4>
975 <P><DT><B><TT>try_first_pass</TT>
976 </B><DD>This is a standard PAM attribute that can be included on entries after the
977 first one for a service; it directs the module to use the password that
978 was provided to the first module. For the AFS module, it means that AFS
979 authentication succeeds if the password provided to the module listed first is
980 the user's correct AFS password. For further discussion of this
981 attribute and its alternatives, see the operating system's PAM
982 documentation.
983 <P>
984 <P><DT><B><TT>ignore_root</TT>
985 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
986 only the local superuser <B> root</B>, but also any user with UID 0
987 (zero).
988 <P><DT><B><TT>ignore_uid <i>uid</i></TT>
989 </B><DD>This option is an extension of the &quot;ignore_root&quot; switch. The additional
990 parameter is a limit. Users with a uid up to the given parameter are ignored
991 by <i>pam_afs.so</i>. Thus, a system administrator still has the opportunity to
992 add local user accounts to his system by choosing between &quot;low&quot; and
993 &quot;high&quot; user ids.<br>
994 An example /etc/passwd file for &quot;ignore_uid 100&quot; may have entries like these:
995 <PRE>
996         .
997         .
998 afsuserone:x:99:100::/afs/afscell/u/afsuserone:/bin/bash
999 afsusertwo:x:100:100::/afs/afscell/u/afsusertwo:/bin/bash
1000 localuserone:x:101:100::/home/localuserone:/bin/bash
1001 localusertwo:x:102:100::/home/localusertwo:/bin/bash
1002         .
1003         .
1004 </PRE><br>
1005 AFS accounts should be locked in the file /etc/shadow like this:
1006 <PRE>
1007         .
1008         .
1009 afsuserone:!!:11500:0:99999:7:::
1010 afsusertwo:!!:11500:0:99999:7:::
1011 localuserone:&lt;thelocaluserone'skey&gt;:11500:0:99999:7:::
1012 localusertwo:&lt;thelocalusertwo'skey&gt;:11500:0:99999:7:::
1013         .
1014         .
1015 </PRE><br>
1016 There is no need to store a local key in this file since the AFS
1017 password is sent and verfied at the AFS cell server!
1018
1019 <P><DT><B><TT>setenv_password_expires</TT>
1020 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
1021 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
1022 password, which is recorded in the Authentication Database.
1023 <P><DT><B><TT>set_token</TT>
1024 </B><DD>Some applications don't call <i>pam_setcred()</i> in order to retrieve the appropriate
1025 credentials (here the AFS token) for their session. This switch sets the credentials
1026 already in <i>pam_sm_authenticate()</i> obsoleting a call to <i>pam_setcred()</i>.<br>
1027 <b>Caution: Don't use this switch for applications which do call <i>pam_setcred()</i>!</b>
1028 One example for an application not calling <i>pam_setcred()</i> are older versions of
1029 the samba server.<br>
1030 Nevertheless, using applications with working pam session management is recommended as this
1031 setup conforms better with the PAM definitions.
1032 <P><DT><B><TT>refresh_token</TT>
1033 </B><DD>This options is identical to &quot;set_token&quot; except that no new PAG is generated.
1034 This is necessary to handle processes like xlock or xscreensaver. It is not enough to give
1035 the screen and the keyboard free for the user who reactivated his screen typing in the
1036 correct AFS password, but one may also need fresh tokens with full
1037 livetime in order to work on, and the new token must be refreshed in the already existing PAG
1038 for the processes that have been started. This is achieved using this option.
1039 <P><DT><B><TT>use_klog</TT>
1040 </B><DD>Activating this switch the authentication is done by calling the external program &quot;klog&quot;.
1041 One program requiring this is for example <i>kdm</i> of KDE 2.x.<br></DD>
1042 <P><DT><B><TT>dont_fork</TT>
1043 </B><DD>Usually, the password verification and the establishment of the token is performed
1044 in a sub process. Using this option pam_afs does not fork and performs all actions in a single
1045 process. <b>Only use this options in case you notice serious problems caused by the sub process.</b>
1046 This option has been developed in respect to the &quot;mod_auth_pam&quot;-project (see also
1047 <A HREF="http://pam.sourceforge.net/mod_auth_pam/">mod_auth_pam</A>). The mod_auth_pam
1048 module enables PAM authentication for the apache http server package.
1049
1050 <h4><br>Session Management</h4>
1051
1052 <P><DT><B><TT>no_unlog</TT>
1053 </B><DD>Normally the tokens are deleted (in memory) after the session ends. Using this options the tokens are left
1054 untouched. <b>This behaviour has been the default in pam_afs until openafs-1.1.1!</b>
1055 <P><DT><B><TT>remainlifetime <i>sec</i></TT>
1056 </B><DD>The tokens are kept active for <i>sec</i> seconds before they are deleted. X display managers
1057 i.e. are used to inform the applications started in the X session before the logout and then
1058 end themselves. If the token was deleted immediately the applications would have no chance to
1059 write back their settings to i.e. the user's AFS home space. This option may help to avoid the
1060 problem.<br>
1061
1062 </DL>
1063 <P>Perform the following steps to enable AFS login.
1064 <OL TYPE=1>
1065 <P><LI>Mount the AFS CD-ROM for Linux on the <B>/cdrom</B> directory, if it
1066 is not already. Then change to the directory for PAM modules, which
1067 depends on which Linux distribution you are using.
1068 <P>If you are using a Linux distribution from Red Hat Software:
1069 <PRE>
1070    # <B>cd /lib/security</B>
1071 </PRE>
1072 <P>If you are using another Linux distribution:
1073 <PRE>
1074    # <B>cd /usr/lib/security</B>
1075
1076 </PRE>
1077 <P><LI>Copy the appropriate AFS authentication library file to the directory to
1078 which you changed in the previous step. Create a symbolic link whose
1079 name does not mention the version. Omitting the version eliminates the
1080 need to edit the PAM configuration file if you later update the library
1081 file.
1082 <P>If you use the AFS Authentication Server (<B>kaserver</B>
1083 process):
1084 <PRE>
1085    # <B>cp /cdrom/i386_linux22/lib/pam_afs.so.1  .</B>
1086
1087    # <B>ln -s pam_afs.so.1 pam_afs.so</B>
1088 </PRE>
1089 <P>If you use a Kerberos implementation of AFS authentication:
1090 <PRE>
1091    # <B>cp /cdrom/i386_linux22/lib/pam_afs.krb.so.1   .</B>
1092
1093    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
1094
1095 </PRE>
1096 <P><LI>For each service with which you want to use AFS authentication, insert an
1097 entry for the AFS PAM module into the <TT>auth</TT> section of the
1098 service's PAM configuration file. (Linux uses a separate
1099 configuration file for each service, unlike some other operating systems which
1100 list all services in a single file.) Mark the entry as
1101 <TT>sufficient</TT> in the second field.
1102 <P>Place the AFS entry below any entries that impose conditions under which
1103 you want the service to fail for a user who does not meet the entry's
1104 requirements. Mark these entries <TT>required</TT>. Place the
1105 AFS entry above any entries that need to execute only if AFS authentication
1106 fails.
1107 <P>Insert the following AFS entry if using the Red Hat distribution:
1108 <PRE>
1109    auth  sufficient  /lib/security/pam_afs.so   try_first_pass  ignore_root
1110 </PRE>
1111 <P>Insert the following AFS entry if using another distribution:
1112 <PRE>
1113    auth  sufficient  /usr/lib/security/pam_afs.so  try_first_pass  ignore_root
1114 </PRE>
1115 <P>Check the PAM config files also for &quot;session&quot; entries. If there are
1116 lines beginning with &quot;session&quot; then please insert this line too:
1117 <PRE>
1118    session  optional  /lib/security/pam_afs.so
1119 </PRE>
1120 <P>or
1121 <PRE>
1122    session  optional  /usr/lib/security/pam_afs.so
1123 </PRE>
1124 <P>This guaranties that the user's tokens are deleted from memory after his
1125 session ends so that no other user coincidently gets those tokens without authorization!
1126 The following examples illustrate the recommended configuration of the
1127 configuration file for several services:<br>
1128
1129 <h4><br>Authentication Management</h4>
1130
1131 (<B>/etc/pam.d/login</B>)
1132 <PRE>
1133    #%PAM-1.0
1134    auth      required   /lib/security/pam_securetty.so
1135    auth      required   /lib/security/pam_nologin.so
1136    auth      sufficient /lib/security/pam_afs.so try_first_pass ignore_root
1137    #                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1138    #This enables AFS authentication for every user but root
1139    auth      required   /lib/security/pam_pwdb.so shadow nullok
1140    account   required   /lib/security/pam_pwdb.so
1141    password  required   /lib/security/pam_cracklib.so
1142    password  required   /lib/security/pam_pwdb.so shadow nullok use_authtok
1143    session   optional   /lib/security/pam_afs.so
1144    #Make sure tokens are deleted after the user logs out
1145    session   required   /lib/security/pam_pwdb.so
1146
1147 </PRE><br>
1148 (<b>/etc/pam.d/samba</b>)
1149 <PRE>
1150    auth       required     /lib/security/pam_afs.so ignore_uid 100 set_token
1151    #                                                ^^^^^^^^^^^^^^^^^^^^^^^^
1152    #Here, users with uid&gt;100 are considered to belong to the AFS and users
1153    #with uid&lt;=100 are ignored by pam_afs. The token is retrieved already in
1154    #pam_sm_authenticate() (this is an example pam config for a samba version
1155    #that does not call pam_setcred(), it also does no sense to include session
1156    #entries here since they would be ignored by this version of samba ).
1157    account    required     /lib/security/pam_pwdb.so
1158 </PRE>
1159 (<b>/etc/pam.d/xscreensaver</b>)
1160 <PRE>
1161    auth       sufficient   /lib/security/pam_afs.so ignore_uid 100 refresh_token
1162    #                                                               ^^^^^^^^^^^^^
1163    #Avoid generating a new PAG for the new tokens, use the already existing PAG and
1164    #establish a fresh token in it.
1165    auth       required     /lib/security/pam_pwdb.so try_first_pass
1166 </PRE>
1167 (<b>/etc/pam.d/httpd</b>)
1168 <PRE>
1169    auth       required   /lib/security/pam_afs.so ignore_uid 100 dont_fork
1170    #                                                             ^^^^^^^^^
1171    #Don't fork for the verification of the password.
1172 </PRE>
1173
1174 <h4><br>Session Management</h4>
1175
1176 (<b>/etc/pam.d/su</b>)
1177 <PRE>
1178    auth       sufficient   /lib/security/pam_afs.so ignore_uid 100
1179    auth       required     /lib/security/pam_pwdb.so try_first_pass
1180    account    required     /lib/security/pam_pwdb.so
1181    password   required     /lib/security/pam_cracklib.so
1182    password   required     /lib/security/pam_pwdb.so use_authtok
1183    session    required     /lib/security/pam_pwdb.so
1184    session    optional     /lib/security/pam_afs.so no_unlog
1185    #                                                ^^^^^^^^
1186    #Don't delete the token in this case, since the user may still
1187    #need it (for example if somebody logs in and changes to root
1188    #afterwards he may still want to access his home space in AFS).
1189    session    required     /lib/security/pam_login_access.so
1190    session    optional     /lib/security/pam_xauth.so
1191 </PRE>
1192 (<b>/etc/pam.d/xdm</b>)
1193 <PRE>
1194    auth       required     /lib/security/pam_nologin.so
1195    auth       required     /lib/security/pam_login_access.so
1196    auth       sufficient   /lib/security/pam_afs.so ignore_uid 100 use_klog
1197    auth       required     /lib/security/pam_pwdb.so try_first_pass
1198    account    required     /lib/security/pam_pwdb.so
1199    password   required     /lib/security/pam_cracklib.so
1200    password   required     /lib/security/pam_pwdb.so shadow nullok use_authtok
1201    session    optional     /lib/security/pam_afs.so remainlifetime 10
1202    #                                                ^^^^^^^^^^^^^^^^^
1203    #Wait 10 seconds before deleting the AFS tokens in order to give
1204    #the programs of the X session some time to save their settings
1205    #to AFS.
1206    session    required     /lib/security/pam_pwdb.so
1207 </PRE>
1208
1209 <P><LI>Proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
1210 </OL>
1211 <A NAME="IDX2986"></A>
1212 <A NAME="IDX2987"></A>
1213 <A NAME="IDX2988"></A>
1214 <A NAME="IDX2989"></A>
1215 <A NAME="IDX2990"></A>
1216 <A NAME="IDX2991"></A>
1217 <A NAME="IDX2992"></A>
1218 <A NAME="IDX2993"></A>
1219 <A NAME="IDX2994"></A>
1220 <A NAME="IDX2995"></A>
1221 <A NAME="IDX2996"></A>
1222 <A NAME="IDX2997"></A>
1223 <HR><H2><A NAME="HDRWQ144" HREF="auqbg002.htm#ToC_135">Getting Started on Solaris Systems</A></H2>
1224 <P>In this section you load AFS into the Solaris kernel.
1225 Then incorporate AFS modifications into the machine's Pluggable
1226 Authentication Module (PAM) system, if you wish to enable AFS login.
1227 <P><H3><A NAME="Header_136" HREF="auqbg002.htm#ToC_136">Loading AFS into the Solaris Kernel</A></H3>
1228 <P>The <B>modload</B> program is the dynamic kernel loader provided by
1229 Sun Microsystems for Solaris systems. Solaris does not support
1230 incorporation of AFS modifications during a kernel build.
1231 <P>For AFS to function correctly, the <B>modload</B> program must run each
1232 time the machine reboots, so the AFS initialization script (included on the
1233 AFS CD-ROM) invokes it automatically. In this section you copy the
1234 appropriate AFS library file to the location where the <B>modload</B>
1235 program accesses it and then run the script.
1236 <P>In a later section you verify that the script correctly initializes the
1237 Cache Manager, then create the links that incorporate AFS into the Solaris
1238 startup and shutdown sequence.
1239 <OL TYPE=1>
1240 <P><LI>Mount the AFS CD-ROM for Solaris on the <B>/cdrom</B>
1241 directory. For instructions on mounting CD-ROMs (either locally or
1242 remotely via NFS), see your Solaris documentation. Then change
1243 directory as indicated. 
1244 <PRE>   
1245    # <B>cd  /cdrom/sun4x_56/root.client/usr/vice/etc</B>
1246    
1247 </PRE>
1248 <P><LI>Copy the AFS initialization script to the local directory for
1249 initialization files (by convention, <B>/etc/init.d</B> on Solaris
1250 machines). Note the removal of the <B>.rc</B> extension as
1251 you copy the script. 
1252 <PRE>   
1253    # <B>cp -p  afs.rc  /etc/init.d/afs</B>
1254    
1255 </PRE>
1256 <P><LI>Copy the appropriate AFS kernel library file to the local file
1257 <B>/kernel/fs/afs</B>. 
1258 <P>If the machine is running Solaris 2.6 or the 32-bit version of
1259 Solaris 7, its kernel supports NFS server functionality, and the
1260 <B>nfsd</B> process is running:
1261 <PRE>   
1262    # <B>cp -p modload/libafs.o /kernel/fs/afs</B>   
1263 </PRE> 
1264 <P>If the machine is running Solaris 2.6 or the 32-bit version of
1265 Solaris 7, and its kernel does not support NFS server functionality or the
1266 <B>nfsd</B> process is not running:
1267 <PRE>   
1268    # <B>cp -p modload/libafs.nonfs.o /kernel/fs/afs</B>   
1269 </PRE> 
1270 <P>If the machine is running the 64-bit version of Solaris 7, its kernel
1271 supports NFS server functionality, and the <B>nfsd</B> process is
1272 running:
1273 <PRE>   
1274    # <B>cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</B>   
1275 </PRE> 
1276 <P>If the machine is running the 64-bit version of Solaris 7, and its
1277 kernel does not support NFS server functionality or the <B>nfsd</B>
1278 process is not running:
1279 <PRE>   
1280    # <B>cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</B>
1281    
1282 </PRE>
1283 <P><LI>Run the AFS initialization script to load AFS modifications into the
1284 kernel. You can ignore any error messages about the inability to start
1285 the BOS Server or the Cache Manager or AFS client.
1286 <PRE>   
1287    # <B>/etc/init.d/afs start</B>   
1288 </PRE> 
1289 <P>When an entry called <TT>afs</TT> does not already exist in the local
1290 <B>/etc/name_to_sysnum</B> file, the script automatically creates it and
1291 reboots the machine to start using the new version of the file. If this
1292 happens, log in again as the superuser <B>root</B> after the reboot and
1293 run the initialization script again. This time the required entry
1294 exists in the <B>/etc/name_to_sysnum</B> file, and the <B>modload</B>
1295 program runs. 
1296 <PRE>   
1297    login: <B>root</B>
1298    Password: <VAR>root_password</VAR>
1299    
1300    # <B>/etc/init.d/afs start</B>
1301    
1302 </PRE>
1303 </OL>
1304 <P><H3><A NAME="Header_137" HREF="auqbg002.htm#ToC_137">Enabling AFS Login on Solaris Systems</A></H3>
1305 <P>At this point you incorporate AFS into the operating system's
1306 Pluggable Authentication Module (PAM) scheme. PAM integrates all
1307 authentication mechanisms on the machine, including login, to provide the
1308 security infrastructure for authenticated access to and from the
1309 machine.
1310 <P>Explaining PAM is beyond the scope of this document. It is assumed
1311 that you understand the syntax and meanings of settings in the PAM
1312 configuration file (for example, how the <TT>other</TT> entry works, the
1313 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
1314 <TT>sufficient</TT>, and so on).
1315 <P>The following instructions explain how to alter the entries in the PAM
1316 configuration file for each service for which you wish to use AFS
1317 authentication. Other configurations possibly also work, but the
1318 instructions specify the recommended and tested configuration.
1319 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">The instructions specify that you mark each entry as
1320 <TT>optional</TT>. However, marking some modules as optional can mean
1321 that they grant access to the corresponding service even when the user does
1322 not meet all of the module's requirements. In some operating
1323 system revisions, for example, if you mark as optional the module that
1324 controls login via a dial-up connection, it allows users to login without
1325 providing a password. See the <I>IBM AFS Release Notes</I> for a
1326 discussion of any limitations that apply to this operating system. 
1327 <P>Also, with some operating system versions you must install patches for PAM
1328 to interact correctly with certain authentication programs. For
1329 details, see the <I>IBM AFS Release Notes</I>.
1330 </TD></TR></TABLE>
1331 <P>The recommended AFS-related entries in the PAM configuration file make use
1332 of one or more of the following three attributes.
1333 <DL>
1334 <h4><br>Authentication Management</h4>
1335 <P><DT><B><TT>try_first_pass</TT>
1336 </B><DD>This is a standard PAM attribute that can be included on entries after the
1337 first one for a service; it directs the module to use the password that
1338 was provided to the first module. For the AFS module, it means that AFS
1339 authentication succeeds if the password provided to the module listed first is
1340 the user's correct AFS password. For further discussion of this
1341 attribute and its alternatives, see the operating system's PAM
1342 documentation.
1343 <P><DT><B><TT>ignore_root</TT>
1344 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
1345 only the local superuser <B> root</B>, but also any user with UID 0
1346 (zero).
1347 <P><DT><B><TT>setenv_password_expires</TT>
1348 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
1349 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
1350 password, which is recorded in the Authentication Database.
1351 </DL>
1352 <P>Perform the following steps to enable AFS login.
1353 <OL TYPE=1>
1354 <P><LI>Mount the AFS CD-ROM for Solaris on the <B>/cdrom</B> directory, if it
1355 is not already. Then change directory as indicated. 
1356 <PRE>  
1357    # <B>cd /usr/lib/security</B>
1358    
1359 </PRE>
1360 <P><LI>Copy the AFS authentication library file to the
1361 <B>/usr/lib/security</B> directory. Then create a symbolic link to
1362 it whose name does not mention the version. Omitting the version
1363 eliminates the need to edit the PAM configuration file if you later update the
1364 library file. 
1365 <P>If you use the AFS Authentication Server (<B>kaserver</B>
1366 process): 
1367 <PRE>  
1368    #<B> cp /cdrom/sun4x_56/lib/pam_afs.so.1 .</B>
1369   
1370    # <B>ln -s pam_afs.so.1 pam_afs.so</B>   
1371 </PRE> 
1372 <P>If you use a Kerberos implementation of AFS authentication:
1373 <PRE>     
1374    # <B>cp /cdrom/sun4x_56/lib/pam_afs.krb.so.1 .</B>
1375   
1376    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
1377    
1378 </PRE>
1379 <P><LI>Edit the <TT>Authentication management</TT> section of the Solaris PAM
1380 configuration file, <B>/etc/pam.conf</B> by convention. The
1381 entries in this section have the value <TT>auth</TT> in their second
1382 field. 
1383 <P>First edit the standard entries, which refer to the Solaris PAM module
1384 (usually, the file <B>/usr/lib/security/pam_unix.so.1</B>)
1385 in their fourth field. For each service for which you want to use AFS
1386 authentication, edit the third field of its entry to read
1387 <TT>optional</TT>. The <B>pam.conf</B> file in the Solaris
1388 distribution usually includes standard entries for the <B>login</B>,
1389 <B>rlogin</B>, and <B>rsh</B> services, for instance. 
1390 <P>If there are services for which you want to use AFS authentication, but for
1391 which the <B>pam.conf</B> file does not already include a standard
1392 entry, you must create that entry and place the value <TT>optional</TT> in
1393 its third field. For instance, the Solaris <B>pam.conf</B>
1394 file does not usually include standard entries for the <B>ftp</B> or
1395 <B>telnet</B> services. 
1396 <P>Then create an AFS-related entry for each service, placing it immediately
1397 below the standard entry. The following example shows what the
1398 <TT>Authentication Management</TT> section looks like after you have you
1399 edited or created entries for the services mentioned previously. Note
1400 that the example AFS entries appear on two lines only for legibility.
1401 <PRE>  
1402    login   auth  optional  /usr/lib/security/pam_unix.so.1
1403    login   auth  optional  /usr/lib/security/pam_afs.so       \
1404          try_first_pass  ignore_root  setenv_password_expires
1405    rlogin  auth  optional  /usr/lib/security/pam_unix.so.1
1406    rlogin  auth  optional  /usr/lib/security/pam_afs.so       \
1407          try_first_pass  ignore_root  setenv_password_expires
1408    rsh     auth  optional  /usr/lib/security/pam_unix.so.1
1409    rsh     auth  optional  /usr/lib/security/pam_afs.so       \
1410          try_first_pass  ignore_root            
1411    ftp     auth  optional  /usr/lib/security/pam_unix.so.1
1412    ftp     auth  optional  /usr/lib/security/pam_afs.so       \
1413          try_first_pass  ignore_root
1414    telnet  auth  optional  /usr/lib/security/pam_unix.so.1
1415    telnet  auth  optional  /usr/lib/security/pam_afs.so       \
1416          try_first_pass  ignore_root  setenv_password_expires
1417    
1418 </PRE>
1419 <P><LI>If you use the Common Desktop Environment (CDE) on the machine and want
1420 users to obtain an AFS token as they log in, also add or edit the following
1421 four entries in the <TT>Authentication management</TT> section. Note
1422 that the AFS-related entries appear on two lines here only for
1423 legibility. 
1424 <PRE>   
1425    dtlogin   auth  optional  /usr/lib/security/pam_unix.so.1
1426    dtlogin   auth  optional  /usr/lib/security/pam_afs.so     \
1427          try_first_pass  ignore_root
1428    dtsession  auth  optional /usr/lib/security/pam_unix.so.1
1429    dtsession  auth  optional /usr/lib/security/pam_afs.so     \
1430          try_first_pass  ignore_root
1431    
1432 </PRE>
1433 <P><LI>Some Solaris distributions include a script that locates and removes
1434 unneeded files from various file systems. Its conventional location is
1435 <B>/usr/lib/fs/nfs/nfsfind</B>. The script generally uses an
1436 argument to the <B>find</B> command to define which file systems to
1437 search. In this step you modify the command to exclude the
1438 <B>/afs</B> directory. Otherwise, the command traverses the AFS
1439 filespace of every cell that is accessible from the machine, which can take
1440 many hours. The following alterations are possibilities, but you must
1441 verify that they are appropriate for your cell. 
1442 <P>The first possible alteration is to add the <B>-local</B> flag to the
1443 existing command, so that it looks like the following:
1444 <PRE>  
1445    find $dir -local -name .nfs\* -mtime +7 -mount -exec rm -f {} \;   
1446 </PRE> 
1447 <P>Another alternative is to exclude any directories whose names begin with
1448 the lowercase letter <B>a</B> or a non-alphabetic character.
1449 <PRE>  
1450    find /[A-Zb-z]*  <VAR>remainder of existing command</VAR>   
1451 </PRE> 
1452 <P>Do not use the following command, which still searches under the
1453 <B>/afs</B> directory, looking for a subdirectory of type
1454 <B>4.2</B>. 
1455 <PRE>  
1456    find / -fstype 4.2     /* <VAR>do not use</VAR> */
1457    
1458 </PRE>
1459 <P><LI>Proceed to <A HREF="#HDRWQ145">Loading and Creating Client Files</A>.
1460 </OL>
1461 <A NAME="IDX2998"></A>
1462 <A NAME="IDX2999"></A>
1463 <A NAME="IDX3000"></A>
1464 <A NAME="IDX3001"></A>
1465 <A NAME="IDX3002"></A>
1466 <A NAME="IDX3003"></A>
1467 <A NAME="IDX3004"></A>
1468 <A NAME="IDX3005"></A>
1469 <A NAME="IDX3006"></A>
1470 <A NAME="IDX3007"></A>
1471 <A NAME="IDX3008"></A>
1472 <A NAME="IDX3009"></A>
1473 <HR><H2><A NAME="HDRWQ145" HREF="auqbg002.htm#ToC_138">Loading and Creating Client Files</A></H2>
1474 <P>Now copy files from the AFS CD-ROM to the
1475 <B>/usr/vice/etc</B> directory. On some platforms that use a
1476 dynamic loader program to incorporate AFS modifications into the kernel, you
1477 have already copied over some the files. Copying them again does no
1478 harm.
1479 <P>Every AFS client machine has a copy of the
1480 <B>/usr/vice/etc/ThisCell</B> file on its local disk to define the
1481 machine's cell membership for the AFS client programs that run on
1482 it. Among other functions, this file determines the following:
1483 <UL>
1484 <P><LI>The cell in which users authenticate when they log onto the machine,
1485 assuming it is using an AFS-modified login utility
1486 <P><LI>The cell in which users authenticate by default when they issue the
1487 <B>klog</B> command
1488 <P><LI>The cell membership of the AFS server processes that the AFS command
1489 interpreters on this machine contact by default
1490 </UL>
1491 <P>Similarly, the <B>/usr/vice/etc/CellServDB</B> file on a client
1492 machine's local disk lists the database server machines in each cell that
1493 the local Cache Manager can contact. If there is no entry in the file
1494 for a cell, or the list of database server machines is wrong, then users
1495 working on this machine cannot access the cell. The chapter in the
1496 <I>IBM AFS Administration Guide</I> about administering client machines
1497 explains how to maintain the file after creating it. A version of the
1498 client <B>CellServDB</B> file was created during the installation of your
1499 cell's first machine (in <A HREF="auqbg005.htm#HDRWQ66">Creating the Client CellServDB File</A>). It is probably also appropriate for use on this
1500 machine.
1501 <P>Remember that the Cache Manager consults the
1502 <B>/usr/vice/etc/CellServDB</B> file only at reboot, when it copies the
1503 information into the kernel. For the Cache Manager to perform properly,
1504 the <B>CellServDB</B> file must be accurate at all times. Refer to
1505 the chapter in the <I>IBM AFS Administration Guide</I> about administering
1506 client machines for instructions on updating this file, with or without
1507 rebooting.
1508 <OL TYPE=1>
1509 <P><LI>On the local <B>/cdrom</B> directory, mount the AFS CD-ROM for this
1510 machine's system type, if it is not already. For instructions on
1511 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
1512 system documentation.
1513 <P><LI>Copy files to the local <B>/usr/vice/etc</B> directory.
1514 <P>This step places a copy of the AFS initialization script (and related
1515 files, if applicable) into the <B>/usr/vice/etc</B> directory. In
1516 the preceding instructions for incorporating AFS into the kernel, you copied
1517 the script directly to the operating system's conventional location for
1518 initialization files. When you incorporate AFS into the machine's
1519 startup sequence in a later step, you can choose to link the two files.
1520 <P>On some system types that use a dynamic kernel loader program, you
1521 previously copied AFS library files into a subdirectory of the
1522 <B>/usr/vice/etc</B> directory. On other system types, you copied
1523 the appropriate AFS library file directly to the directory where the operating
1524 system accesses it. The following commands do not copy or recopy the
1525 AFS library files into the <B>/usr/vice/etc</B> directory, because on some
1526 system types the library files consume a large amount of space. If you
1527 want to copy them, add the <B>-r</B> flag to the first <B>cp</B>
1528 command and skip the second <B>cp</B> command.
1529 <PRE>   
1530    # <B>cd /cdrom/</B><VAR>sysname</VAR><B>/root.client/usr/vice/etc</B>
1531    
1532    # <B>cp -p  *  /usr/vice/etc</B>
1533   
1534    # <B>cp -rp  C  /usr/vice/etc</B>
1535    
1536 </PRE>
1537 <P><LI>Create the <B>/usr/vice/etc/ThisCell</B> file. 
1538 <PRE>   
1539    # <B>echo "</B><VAR>cellname</VAR><B>" > /usr/vice/etc/ThisCell</B>
1540     
1541 </PRE>
1542 <P><LI>Create the <B>/usr/vice/etc/CellServDB</B> file. Use a network
1543 file transfer program such as <B>ftp</B> or NFS to copy it from one of the
1544 following sources, which are listed in decreasing order of preference:
1545 <UL>
1546 <P><LI>Your cell's central <B>CellServDB</B> source file (the
1547 conventional location is
1548 <B>/afs/</B><VAR>cellname</VAR><B>/common/etc/CellServDB</B>)
1549 <P><LI>The global <B>CellServDB</B> file maintained by the AFS Product
1550 Support group
1551 <P><LI>An existing client machine in your cell
1552 <P><LI>The <B>CellServDB.sample</B> file included in the
1553 <VAR>sysname</VAR><B>/root.client/usr/vice/etc</B> directory of each
1554 AFS CD-ROM; add an entry for the local cell by following the instructions
1555 in <A HREF="auqbg005.htm#HDRWQ66">Creating the Client CellServDB File</A>
1556 </UL>
1557 </OL>
1558 <A NAME="IDX3010"></A>
1559 <A NAME="IDX3011"></A>
1560 <A NAME="IDX3012"></A>
1561 <A NAME="IDX3013"></A>
1562 <A NAME="IDX3014"></A>
1563 <A NAME="IDX3015"></A>
1564 <A NAME="IDX3016"></A>
1565 <A NAME="IDX3017"></A>
1566 <A NAME="IDX3018"></A>
1567 <A NAME="IDX3019"></A>
1568 <A NAME="IDX3020"></A>
1569 <A NAME="IDX3021"></A>
1570 <A NAME="IDX3022"></A>
1571 <A NAME="IDX3023"></A>
1572 <A NAME="IDX3024"></A>
1573 <A NAME="IDX3025"></A>
1574 <HR><H2><A NAME="HDRWQ146" HREF="auqbg002.htm#ToC_139">Configuring the Cache</A></H2>
1575 <P>The Cache Manager uses a cache on the local disk or in
1576 machine memory to store local copies of files fetched from file server
1577 machines. As the <B>afsd</B> program initializes the Cache Manager,
1578 it sets basic cache configuration parameters according to definitions in the
1579 local <B>/usr/vice/etc/cacheinfo</B> file. The file has three
1580 fields:
1581 <OL TYPE=1>
1582 <P><LI>The first field names the local directory on which to mount the AFS
1583 filespace. The conventional location is the <B>/afs</B>
1584 directory.
1585 <P><LI>The second field defines the local disk directory to use for the disk
1586 cache. The conventional location is the <B>/usr/vice/cache</B>
1587 directory, but you can specify an alternate directory if another partition has
1588 more space available. There must always be a value in this field, but
1589 the Cache Manager ignores it if the machine uses a memory cache.
1590 <P><LI>The third field specifies the number of kilobyte (1024 byte) blocks to
1591 allocate for the cache.
1592 </OL>
1593 <P>The values you define must meet the following requirements.
1594 <UL>
1595 <P><LI>On a machine using a disk cache, the Cache Manager expects always to be
1596 able to use the amount of space specified in the third field. Failure
1597 to meet this requirement can cause serious problems, some of which can be
1598 repaired only by rebooting. You must prevent non-AFS processes from
1599 filling up the cache partition. The simplest way is to devote a
1600 partition to the cache exclusively.
1601 <P><LI>The amount of space available in memory or on the partition housing the
1602 disk cache directory imposes an absolute limit on cache size.
1603 <P><LI>The maximum supported cache size can vary in each AFS release; see
1604 the <I>IBM AFS Release Notes</I> for the current version.
1605 <P><LI>For a disk cache, you cannot specify a value in the third field that
1606 exceeds 95% of the space available on the partition mounted at the directory
1607 named in the second field. If you violate this restriction, the
1608 <B>afsd</B> program exits without starting the Cache Manager and prints an
1609 appropriate message on the standard output stream. A value of 90% is
1610 more appropriate on most machines. Some operating systems (such as AIX)
1611 do not automatically reserve some space to prevent the partition from filling
1612 completely; for them, a smaller value (say, 80% to 85% of the space
1613 available) is more appropriate.
1614 <P><LI>For a memory cache, you must leave enough memory for other processes and
1615 applications to run. If you try to allocate more memory than is
1616 actually available, the <B>afsd</B> program exits without initializing the
1617 Cache Manager and produces the following message on the standard output
1618 stream. 
1619 <PRE>   
1620    afsd: memCache allocation failure at <VAR>number</VAR> KB
1621 </PRE> 
1622 <P>The <VAR>number</VAR> value is how many kilobytes were allocated just before
1623 the failure, and so indicates the approximate amount of memory
1624 available.
1625 </UL>
1626 <P>Within these hard limits, the factors that determine appropriate cache size
1627 include the number of users working on the machine, the size of the files with
1628 which they work, and (for a memory cache) the number of processes that run on
1629 the machine. The higher the demand from these factors, the larger the
1630 cache needs to be to maintain good performance.
1631 <P>Disk caches smaller than 10 MB do not generally perform well.
1632 Machines serving multiple users usually perform better with a cache of at
1633 least 60 to 70 MB. The point at which enlarging the cache further does
1634 not really improve performance depends on the factors mentioned previously and
1635 is difficult to predict.
1636 <P>Memory caches smaller than 1 MB are nonfunctional, and the performance of
1637 caches smaller than 5 MB is usually unsatisfactory. Suitable upper
1638 limits are similar to those for disk caches but are probably determined more
1639 by the demands on memory from other sources on the machine (number of users
1640 and processes). Machines running only a few processes possibly can use
1641 a smaller memory cache.
1642 <P><H3><A NAME="HDRWQ147" HREF="auqbg002.htm#ToC_140">Configuring a Disk Cache</A></H3>
1643 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Not all file system types that an operating system supports
1644 are necessarily supported for use as the cache partition. For possible
1645 restrictions, see the <I>IBM AFS Release Notes</I>.
1646 </TD></TR></TABLE>
1647 <P>To configure the disk cache, perform the following procedures:
1648 <OL TYPE=1>
1649 <P><LI>Create the local directory to use for caching. The following
1650 instruction shows the conventional location,
1651 <B>/usr/vice/cache</B>. If you are devoting a partition exclusively
1652 to caching, as recommended, you must also configure it, make a file system on
1653 it, and mount it at the directory created in this step.
1654 <PRE>   
1655    # <B>mkdir /usr/vice/cache</B>
1656    
1657 </PRE>
1658 <P><LI>Create the <B>cacheinfo</B> file to define the configuration
1659 parameters discussed previously. The following instruction shows the
1660 standard mount location, <B>/afs</B>, and the standard cache location,
1661 <B>/usr/vice/cache</B>. 
1662 <PRE>   
1663    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > /usr/vice/etc/cacheinfo</B>
1664 </PRE> 
1665 <P>The following example defines the disk cache size as 50,000 KB: 
1666 <PRE>   
1667    # <B>echo "/afs:/usr/vice/cache:50000" > /usr/vice/etc/cacheinfo</B>
1668 </PRE>
1669 </OL>
1670 <P><H3><A NAME="HDRWQ148" HREF="auqbg002.htm#ToC_141">Configuring a Memory Cache</A></H3>
1671 <P>To configure a memory cache, create the <B>cacheinfo</B>
1672 file to define the configuration parameters discussed previously. The
1673 following instruction shows the standard mount location, <B>/afs</B>, and
1674 the standard cache location, <B>/usr/vice/cache</B> (though the exact
1675 value of the latter is irrelevant for a memory cache).
1676 <PRE>   
1677    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > /usr/vice/etc/cacheinfo</B>
1678 </PRE>
1679 <P>The following example allocates 25,000 KB of memory for the cache.
1680 <PRE>   
1681    # <B>echo "/afs:/usr/vice/cache:25000" > /usr/vice/etc/cacheinfo</B>
1682 </PRE>
1683 <A NAME="IDX3026"></A>
1684 <A NAME="IDX3027"></A>
1685 <A NAME="IDX3028"></A>
1686 <A NAME="IDX3029"></A>
1687 <A NAME="IDX3030"></A>
1688 <A NAME="IDX3031"></A>
1689 <A NAME="IDX3032"></A>
1690 <A NAME="IDX3033"></A>
1691 <A NAME="IDX3034"></A>
1692 <A NAME="IDX3035"></A>
1693 <A NAME="IDX3036"></A>
1694 <A NAME="IDX3037"></A>
1695 <A NAME="IDX3038"></A>
1696 <A NAME="IDX3039"></A>
1697 <A NAME="IDX3040"></A>
1698 <A NAME="IDX3041"></A>
1699 <A NAME="IDX3042"></A>
1700 <A NAME="IDX3043"></A>
1701 <A NAME="IDX3044"></A>
1702 <A NAME="IDX3045"></A>
1703 <A NAME="IDX3046"></A>
1704 <A NAME="IDX3047"></A>
1705 <A NAME="IDX3048"></A>
1706 <A NAME="IDX3049"></A>
1707 <A NAME="IDX3050"></A>
1708 <A NAME="IDX3051"></A>
1709 <A NAME="IDX3052"></A>
1710 <A NAME="IDX3053"></A>
1711 <HR><H2><A NAME="HDRWQ149" HREF="auqbg002.htm#ToC_142">Configuring the Cache Manager</A></H2>
1712 <P>By convention, the Cache Manager mounts the AFS filespace on
1713 the local <B>/afs</B> directory. In this section you create that
1714 directory.
1715 <P>The <B>afsd</B> program sets several cache configuration parameters as
1716 it initializes the Cache Manager, and starts daemons that improve
1717 performance. You can use the <B>afsd</B> command's arguments
1718 to override the parameters' default values and to change the number of
1719 some of the daemons. Depending on the machine's cache size, its
1720 amount of RAM, and how many people work on it, you can sometimes improve Cache
1721 Manager performance by overriding the default values. For a discussion
1722 of all of the <B>afsd</B> command's arguments, see its reference page
1723 in the <I>IBM AFS Administration Reference</I>.
1724 <P>The <B>afsd</B> command line in the AFS initialization script on each
1725 system type includes an <TT>OPTIONS</TT> variable. You can use it to
1726 set nondefault values for the command's arguments, in one of the
1727 following ways:
1728 <UL>
1729 <P><LI>You can create an <B>afsd</B> <I>options file</I> that sets values
1730 for arguments to the <B>afsd</B> command. If the file exists, its
1731 contents are automatically substituted for the <TT>OPTIONS</TT> variable in
1732 the AFS initialization script. The AFS distribution for some system
1733 types includes an options file; on other system types, you must create
1734 it. 
1735 <P>You use two variables in the AFS initialization script to specify the path
1736 to the options file: <TT>CONFIG</TT> and <TT>AFSDOPT</TT>. On
1737 system types that define a conventional directory for configuration files, the
1738 <TT>CONFIG</TT> variable indicates it by default; otherwise, the
1739 variable indicates an appropriate location. 
1740 <P>List the desired <B>afsd</B> options on a single line in the options
1741 file, separating each option with one or more spaces. The following
1742 example sets the <B>-stat</B> argument to 2500, the <B>-daemons</B>
1743 argument to 4, and the <B>-volumes</B> argument to 100.
1744 <PRE>   
1745    -stat 2500 -daemons 4 -volumes 100   
1746    
1747 </PRE>
1748 <P><LI>On a machine that uses a disk cache, you can set the <TT>OPTIONS</TT>
1749 variable in the AFS initialization script to one of <TT>$SMALL</TT>,
1750 <TT>$MEDIUM</TT>, or <TT>$LARGE</TT>. The AFS initialization script
1751 uses one of these settings if the <B>afsd</B> options file named by the
1752 <TT>AFSDOPT</TT> variable does not exist. In the script as
1753 distributed, the <TT>OPTIONS</TT> variable is set to the value
1754 <TT>$MEDIUM</TT>.
1755 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Do not set the <TT>OPTIONS</TT> variable to <TT>$SMALL</TT>,
1756 <TT>$MEDIUM</TT>, or <TT>$LARGE</TT> on a machine that uses a memory
1757 cache. The arguments it sets are appropriate only on a machine that
1758 uses a disk cache.
1759 </TD></TR></TABLE>
1760 <P>The script (or on some system types the <B>afsd</B> options file named
1761 by the <TT>AFSDOPT</TT> variable) defines a value for each of
1762 <TT>SMALL</TT>, <TT>MEDIUM</TT>, and <TT>LARGE</TT> that sets
1763 <B>afsd</B> command arguments appropriately for client machines of
1764 different sizes:
1765 <UL>
1766 <P><LI><TT>SMALL</TT> is suitable for a small machine that serves one or two
1767 users and has approximately 8 MB of RAM and a 20-MB cache
1768 <P><LI><TT>MEDIUM</TT> is suitable for a medium-sized machine that serves two
1769 to six users and has 16 MB of RAM and a 40-MB cache
1770 <P><LI><TT>LARGE</TT> is suitable for a large machine that serves five to ten
1771 users and has 32 MB of RAM and a 100-MB cache
1772 </UL>
1773 <P><LI>You can choose not to create an <B>afsd</B> options file and to set
1774 the <TT>OPTIONS</TT> variable in the initialization script to a null value
1775 rather than to the default <TT>$MEDIUM</TT> value. You can then
1776 either set arguments directly on the <B>afsd</B> command line in the
1777 script, or set no arguments (and so accept default values for all Cache
1778 Manager parameters).
1779 </UL>
1780 <OL TYPE=1>
1781 <P><LI>Create the local directory on which to mount the AFS filespace, by
1782 convention <B>/afs</B>. If the directory already exists, verify
1783 that it is empty. 
1784 <PRE>   
1785    # <B>mkdir /afs</B>
1786    
1787 </PRE>
1788 <P><LI>On AIX systems, add the following line to the <B>/etc/vfs</B>
1789 file. It enables AIX to unmount AFS correctly during shutdown.
1790 <PRE>   
1791    afs     4     none     none
1792    
1793 </PRE>
1794 <P><LI>On Linux systems, copy the <B>afsd</B> options file from the
1795 <B>/usr/vice/etc</B> directory to the <B>/etc/sysconfig</B> directory,
1796 removing the <B>.conf</B> extension as you do so.
1797 <PRE>   
1798    # <B>cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</B>
1799    
1800 </PRE>
1801 <P><LI>Edit the machine's AFS initialization script or <B>afsd</B>
1802 options file to set appropriate values for <B>afsd</B> command
1803 parameters. The appropriate file for each system type is as
1804 follows:
1805 <UL>
1806 <P><LI>On AIX systems, <B>/etc/rc.afs</B>
1807 <P><LI>On Digital UNIX systems, <B>/sbin/init.d/afs</B>
1808 <P><LI>On HP-UX systems, <B>/sbin/init.d/afs</B>
1809 <P><LI>On IRIX systems, <B>/etc/init.d/afs</B>
1810 <P><LI>On Linux systems, <B>/etc/sysconfig/afs</B> (the <B>afsd</B>
1811 options file)
1812 <P><LI>On Solaris systems, <B>/etc/init.d/afs</B>
1813 </UL> 
1814 <P>Use one of the methods described in the introduction to this section to add
1815 the following flags to the <B>afsd</B> command line. Also set any
1816 performance-related arguments you wish.
1817 <UL>
1818 <P><LI>Add the <B>-memcache</B> flag if the machine is to use a memory
1819 cache.
1820 <P><LI>Add the <B>-verbose</B> flag to display a trace of the Cache
1821 Manager's initialization on the standard output stream.
1822 </UL>
1823 </OL>
1824 <A NAME="IDX3054"></A>
1825 <A NAME="IDX3055"></A>
1826 <A NAME="IDX3056"></A>
1827 <A NAME="IDX3057"></A>
1828 <A NAME="IDX3058"></A>
1829 <HR><H2><A NAME="HDRWQ150" HREF="auqbg002.htm#ToC_143">Starting the Cache Manager and Installing the AFS Initialization Script</A></H2>
1830 <P>In this section you run the AFS initialization script to
1831 start the Cache Manager. If the script works correctly, perform the
1832 steps that incorporate it into the machine's startup and shutdown
1833 sequence. If there are problems during the initialization, attempt to
1834 resolve them. The AFS Product Support group can provide assistance if
1835 necessary.
1836 <P>On machines that use a disk cache, it can take a while for the
1837 <B>afsd</B> program to run the first time on a machine, because it must
1838 create all of the <B>V</B><VAR>n</VAR> files in the cache directory.
1839 Subsequent Cache Manager initializations do not take nearly as long, because
1840 the <B>V</B><VAR>n</VAR> files already exist.
1841 <P>On system types that use a dynamic loader program, you must reboot the
1842 machine before running the initialization script, so that it can freshly load
1843 AFS modifications into the kernel.
1844 <P>Proceed to the instructions for your system type:
1845 <UL>
1846 <P><LI><A HREF="#HDRWQ151">Running the Script on AIX Systems</A>
1847 <P><LI><A HREF="#HDRWQ152">Running the Script on Digital UNIX Systems</A>
1848 <P><LI><A HREF="#HDRWQ153">Running the Script on HP-UX Systems</A>
1849 <P><LI><A HREF="#HDRWQ154">Running the Script on IRIX Systems</A>
1850 <P><LI><A HREF="#HDRWQ155">Running the Script on Linux Systems</A>
1851 <P><LI><A HREF="#HDRWQ156">Running the Script on Solaris Systems</A>
1852 </UL>
1853 <A NAME="IDX3059"></A>
1854 <A NAME="IDX3060"></A>
1855 <A NAME="IDX3061"></A>
1856 <A NAME="IDX3062"></A>
1857 <P><H3><A NAME="HDRWQ151" HREF="auqbg002.htm#ToC_144">Running the Script on AIX Systems</A></H3>
1858 <OL TYPE=1>
1859 <P><LI>Reboot the machine and log in again as the local superuser
1860 <B>root</B>. 
1861 <PRE>   
1862    # <B>cd /</B>
1863    
1864    # <B>shutdown -r now</B>
1865    
1866    login: <B>root</B>
1867    Password: <VAR>root_password</VAR>
1868    
1869 </PRE>
1870 <P><LI>Run the AFS initialization script. 
1871 <PRE>   
1872    # <B>/etc/rc.afs</B>
1873    
1874 </PRE>
1875 <P><LI>Edit the AIX initialization file, <B>/etc/inittab</B>, adding the
1876 following line to invoke the AFS initialization script. Place it just
1877 after the line that starts NFS daemons.
1878 <PRE>   
1879    rcafs:2:wait:/etc/rc.afs > /dev/console 2>&amp;1 # Start AFS services
1880    
1881 </PRE>
1882 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1883 in both the <B>/usr/vice/etc</B> and <B>/etc</B> directories.
1884 If you want to avoid potential confusion by guaranteeing that they are always
1885 the same, create a link between them. You can always retrieve the
1886 original script from the AFS CD-ROM if necessary.
1887 <PRE>   
1888    # <B>cd  /usr/vice/etc</B>
1889    
1890    # <B>rm  rc.afs</B>
1891   
1892    # <B>ln -s  /etc/rc.afs</B>
1893    
1894 </PRE>
1895 <P><LI>If a volume for housing AFS binaries for this machine's system type
1896 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
1897 </OL>
1898 <A NAME="IDX3063"></A>
1899 <A NAME="IDX3064"></A>
1900 <A NAME="IDX3065"></A>
1901 <A NAME="IDX3066"></A>
1902 <P><H3><A NAME="HDRWQ152" HREF="auqbg002.htm#ToC_145">Running the Script on Digital UNIX Systems</A></H3>
1903 <OL TYPE=1>
1904 <P><LI>Run the AFS initialization script. 
1905 <PRE>   
1906    # <B>/sbin/init.d/afs  start</B>
1907    
1908 </PRE>
1909 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
1910 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1911 initialization script into the Digital UNIX startup and shutdown
1912 sequence.
1913 <PRE>   
1914    # <B>cd  /sbin/init.d</B>
1915    
1916    # <B>ln -s  ../init.d/afs  /sbin/rc3.d/S67afs</B>
1917    
1918    # <B>ln -s  ../init.d/afs  /sbin/rc0.d/K66afs</B>
1919    
1920 </PRE>
1921 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1922 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
1923 directories. If you want to avoid potential confusion by guaranteeing
1924 that they are always the same, create a link between them. You can
1925 always retrieve the original script from the AFS CD-ROM if necessary.
1926 <PRE>   
1927    # <B>cd /usr/vice/etc</B>
1928    
1929    # <B>rm afs.rc</B>
1930   
1931    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
1932    
1933 </PRE>
1934 <P><LI>If a volume for housing AFS binaries for this machine's system type
1935 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
1936 </OL>
1937 <A NAME="IDX3067"></A>
1938 <A NAME="IDX3068"></A>
1939 <A NAME="IDX3069"></A>
1940 <P><H3><A NAME="HDRWQ153" HREF="auqbg002.htm#ToC_146">Running the Script on HP-UX Systems</A></H3>
1941 <OL TYPE=1>
1942 <P><LI>Run the AFS initialization script. 
1943 <PRE>   
1944    # <B>/sbin/init.d/afs  start</B>
1945    
1946 </PRE>
1947 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
1948 <B>ln -s</B> command to create symbolic links that incorporate the AFS
1949 initialization script into the HP-UX startup and shutdown sequence.
1950 <PRE>   
1951    # <B>cd /sbin/init.d</B>
1952    
1953    # <B>ln -s ../init.d/afs /sbin/rc2.d/S460afs</B>
1954   
1955    # <B>ln -s ../init.d/afs /sbin/rc2.d/K800afs</B>
1956    
1957 </PRE>
1958 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
1959 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
1960 directories. If you want to avoid potential confusion by guaranteeing
1961 that they are always the same, create a link between them. You can
1962 always retrieve the original script from the AFS CD-ROM if necessary.
1963 <PRE>   
1964    # <B>cd /usr/vice/etc</B>
1965    
1966    # <B>rm afs.rc</B>
1967   
1968    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
1969    
1970 </PRE>
1971 <P><LI>If a volume for housing AFS binaries for this machine's system type
1972 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
1973 </OL>
1974 <A NAME="IDX3070"></A>
1975 <A NAME="IDX3071"></A>
1976 <A NAME="IDX3072"></A>
1977 <A NAME="IDX3073"></A>
1978 <A NAME="IDX3074"></A>
1979 <A NAME="IDX3075"></A>
1980 <A NAME="IDX3076"></A>
1981 <P><H3><A NAME="HDRWQ154" HREF="auqbg002.htm#ToC_147">Running the Script on IRIX Systems</A></H3>
1982 <OL TYPE=1>
1983 <P><LI>If you have configured the machine to use the <B>ml</B> dynamic loader
1984 program, reboot the machine and log in again as the local superuser
1985 <B>root</B>. 
1986 <PRE>   
1987    # <B>cd /</B>
1988          
1989    # <B>shutdown -i6 -g0 -y</B>
1990    
1991    login: <B>root</B>
1992    Password: <VAR>root_password</VAR>
1993    
1994 </PRE>
1995 <P><LI>Issue the <B>chkconfig</B> command to activate the
1996 <B>afsclient</B> configuration variable.
1997 <PRE>  
1998    # <B>/etc/chkconfig -f afsclient on</B> 
1999    
2000 </PRE>
2001 <P><LI>Run the AFS initialization script. 
2002 <PRE>   
2003    # <B>/etc/init.d/afs  start</B>
2004    
2005 </PRE>
2006 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
2007 <B>ln -s</B> command to create symbolic links that incorporate the AFS
2008 initialization script into the IRIX startup and shutdown sequence.
2009 <PRE>   
2010    # <B>cd /etc/init.d</B>
2011    
2012    # <B>ln -s ../init.d/afs /etc/rc2.d/S35afs</B>
2013   
2014    # <B>ln -s ../init.d/afs /etc/rc0.d/K35afs</B>
2015    
2016 </PRE>
2017 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
2018 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
2019 directories. If you want to avoid potential confusion by guaranteeing
2020 that they are always the same, create a link between them. You can
2021 always retrieve the original script from the AFS CD-ROM if necessary.
2022 <PRE>   
2023    # <B>cd /usr/vice/etc</B>
2024    
2025    # <B>rm afs.rc</B>
2026   
2027    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
2028    
2029 </PRE>
2030 <P><LI>If a volume for housing AFS binaries for this machine's system type
2031 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
2032 </OL>
2033 <A NAME="IDX3077"></A>
2034 <A NAME="IDX3078"></A>
2035 <A NAME="IDX3079"></A>
2036 <A NAME="IDX3080"></A>
2037 <P><H3><A NAME="HDRWQ155" HREF="auqbg002.htm#ToC_148">Running the Script on Linux Systems</A></H3>
2038 <OL TYPE=1>
2039 <P><LI>Reboot the machine and log in again as the local superuser
2040 <B>root</B>. 
2041 <PRE>  
2042    # <B>cd /</B>
2043          
2044    # <B>shutdown -r now</B>
2045    
2046    login: <B>root</B>
2047    Password: <VAR>root_password</VAR>
2048    
2049 </PRE>
2050 <P><LI>Run the AFS initialization script. 
2051 <PRE>   
2052    # <B>/etc/rc.d/init.d/afs  start</B>
2053    
2054 </PRE>
2055 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afs</B>
2056 configuration variable. Based on the instruction in the AFS
2057 initialization file that begins with the string <TT>#chkconfig</TT>, the
2058 command automatically creates the symbolic links that incorporate the script
2059 into the Linux startup and shutdown sequence. 
2060 <PRE>   
2061    # <B>/sbin/chkconfig  --add afs</B>
2062    
2063 </PRE>
2064 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
2065 in both the <B>/usr/vice/etc</B> and
2066 <B>/etc/rc.d/init.d</B> directories, and copies of the
2067 <B>afsd</B> options file in both the <B>/usr/vice/etc</B> and
2068 <B>/etc/sysconfig</B> directories. If you want to avoid potential
2069 confusion by guaranteeing that the two copies of each file are always the
2070 same, create a link between them. You can always retrieve the original
2071 script or options file from the AFS CD-ROM if necessary.
2072 <PRE>   
2073    # <B>cd /usr/vice/etc</B>
2074    
2075    # <B>rm afs.rc afs.conf</B>
2076     
2077    # <B>ln -s  /etc/rc.d/init.d/afs  afs.rc</B>
2078    
2079    # <B>ln -s  /etc/sysconfig/afs  afs.conf</B>
2080    
2081 </PRE>
2082 <P><LI>If a volume for housing AFS binaries for this machine's system type
2083 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
2084 </OL>
2085 <A NAME="IDX3081"></A>
2086 <A NAME="IDX3082"></A>
2087 <A NAME="IDX3083"></A>
2088 <P><H3><A NAME="HDRWQ156" HREF="auqbg002.htm#ToC_149">Running the Script on Solaris Systems</A></H3>
2089 <OL TYPE=1>
2090 <P><LI>Reboot the machine and log in again as the local superuser
2091 <B>root</B>. 
2092 <PRE>   
2093    # <B>cd /</B>
2094       
2095    # <B>shutdown -i6 -g0 -y</B>
2096    
2097    login: <B>root</B>
2098    Password: <VAR>root_password</VAR>
2099    
2100 </PRE>
2101 <P><LI>Run the AFS initialization script. 
2102 <PRE>   
2103    # <B>/etc/init.d/afs  start</B>
2104    
2105 </PRE>
2106 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
2107 <B>ln -s</B> command to create symbolic links that incorporate the AFS
2108 initialization script into the Solaris startup and shutdown sequence.
2109 <PRE>   
2110    # <B>cd /etc/init.d</B>
2111   
2112    # <B>ln -s ../init.d/afs /etc/rc3.d/S99afs</B>
2113   
2114    # <B>ln -s ../init.d/afs /etc/rc0.d/K66afs</B>
2115    
2116 </PRE>
2117 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
2118 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
2119 directories. If you want to avoid potential confusion by guaranteeing
2120 that they are always the same, create a link between them. You can
2121 always retrieve the original script from the AFS CD-ROM if necessary.
2122 <PRE>   
2123    # <B>cd /usr/vice/etc</B>
2124    
2125    # <B>rm afs.rc</B>
2126   
2127    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
2128    
2129 </PRE>
2130 <P><LI>If a volume for housing AFS binaries for this machine's system type
2131 does not already exist, proceed to <A HREF="#HDRWQ157">Setting Up Volumes and Loading Binaries into AFS</A>. Otherwise, the installation is complete.
2132 </OL>
2133 <A NAME="IDX3084"></A>
2134 <A NAME="IDX3085"></A>
2135 <A NAME="IDX3086"></A>
2136 <A NAME="IDX3087"></A>
2137 <A NAME="IDX3088"></A>
2138 <A NAME="IDX3089"></A>
2139 <HR><H2><A NAME="HDRWQ157" HREF="auqbg002.htm#ToC_150">Setting Up Volumes and Loading Binaries into AFS</A></H2>
2140 <P>In this section, you link <B>/usr/afsws</B> on the local
2141 disk to the directory in AFS that houses AFS binaries for this system
2142 type. The conventional name for the AFS directory is
2143 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>.
2144 <P>If this machine is an existing system type, the AFS directory presumably
2145 already exists. You can simply create a link from the local
2146 <B>/usr/afsws</B> directory to it. Follow the instructions in <A HREF="#HDRWQ158">Linking /usr/afsws on an Existing System Type</A>.
2147 <P>If this machine is a new system type (there are no AFS machines of this
2148 type in your cell), you must first create and mount volumes to store its AFS
2149 binaries, and then create the link from <B>/usr/afsws</B> to the new
2150 directory. See <A HREF="#HDRWQ159">Creating Binary Volumes for a New System Type</A>.
2151 <P>You can also store UNIX system binaries (the files normally stored in local
2152 disk directories such as <B>/bin</B>, <B>/etc</B>, and
2153 <B>/lib</B>) in volumes mounted under
2154 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR>. See <A HREF="auqbg005.htm#HDRWQ88">Storing System Binaries in AFS</A> .
2155 <P><H3><A NAME="HDRWQ158" HREF="auqbg002.htm#ToC_151">Linking /usr/afsws on an Existing System Type</A></H3>
2156 <P>If this client machine is an existing system type, there is
2157 already a volume mounted in the AFS filespace that houses AFS client binaries
2158 for it.
2159 <OL TYPE=1>
2160 <P><LI>Create <B>/usr/afsws</B> on the local disk as a symbolic link to the
2161 directory <B>/afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws</B>.
2162 You can specify the actual system name instead of <B>@sys</B> if you wish,
2163 but the advantage of using <B>@sys</B> is that it remains valid if you
2164 upgrade this machine to a different system type. 
2165 <PRE>   
2166    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws  /usr/afsws</B>
2167    
2168 </PRE>
2169 <P><LI><B>(Optional)</B> If you believe it is helpful to your users to access
2170 the AFS documents in a certain format via a local disk directory, create
2171 <B>/usr/afsdoc</B> on the local disk as a symbolic link to the
2172 documentation directory in AFS
2173 (<B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>).
2174 <P>
2175 <PRE>   
2176    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR> <B>/usr/afsdoc</B>
2177 </PRE> 
2178 <P>An alternative is to create a link in each user's home directory to
2179 the <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>
2180 directory.
2181 </OL>
2182 <P><H3><A NAME="HDRWQ159" HREF="auqbg002.htm#ToC_152">Creating Binary Volumes for a New System Type</A></H3>
2183 <P>If this client machine is a new system type, you must create
2184 and mount volumes for its binaries before you can link the local
2185 <B>/usr/afsws</B> directory to an AFS directory.
2186 <P>To create and mount the volumes, you use the <B>klog</B> command to
2187 authenticate as an administrator and then issue commands from the
2188 <B>vos</B> and <B>fs</B> command suites. However, the command
2189 binaries are not yet available on this machine (by convention, they are
2190 accessible via the <B>/usr/afsws</B> link that you are about to
2191 create). You have two choices:
2192 <UL>
2193 <P><LI>Perform all steps except the last one (Step <A HREF="#LIWQ162">10</A>) on an existing AFS machine. On a file server
2194 machine, the <B>klog</B>, <B>fs</B> and <B>vos</B> binaries reside
2195 in the <B>/usr/afs/bin</B> directory. On client machines, the
2196 <B>klog</B> and <B>fs</B> binaries reside in the
2197 <B>/usr/afsws/bin</B> directory and the <B>vos</B> binary in the
2198 <B>/usr/afsws/etc</B> directory. Depending on how your PATH
2199 environment variable is set, you possibly need to precede the command names
2200 with a pathname.
2201 <P>If you work on another AFS machine, be sure to substitute the new system
2202 type name for the <VAR>sysname</VAR> argument in the following commands, not the
2203 system type of the machine on which you are issuing the commands.
2204 <P><LI>Copy the necessary command binaries to a temporary location on the local
2205 disk, which enables you to perform the steps on the local machine. The
2206 following procedure installs them in the <B>/tmp</B> directory and removes
2207 them at the end. Depending on how your PATH environment variable is
2208 set, you possibly need to precede the command names with a pathname.
2209 </UL>
2210 <P>Perform the following steps to create a volume for housing AFS
2211 binaries.
2212 <OL TYPE=1>
2213 <P><LI>Working either on the local machine or another AFS machine, mount the AFS
2214 CD-ROM for the new system type on the <B>/cdrom</B> directory, if it is
2215 not already. For instructions on mounting CD-ROMs (either locally or
2216 remotely via NFS), consult the operating system documentation.
2217 <P><LI>If working on the local machine, copy the necessary binaries to a
2218 temporary location on the local disk. Substitute a different directory
2219 name for <B>/tmp</B> if you wish.
2220 <PRE>   
2221    # <B>cd  /cdrom/</B><VAR>new_sysname</VAR><B>/root.server/usr/afs/bin</B>
2222    
2223    # <B>cp -p  klog  /tmp</B>
2224  
2225    # <B>cp -p  fs  /tmp</B>
2226  
2227    # <B>cp -p  vos  /tmp</B>
2228      
2229 </PRE>
2230 <P><LI>Authenticate as the user <B>admin</B>. 
2231 <PRE>   
2232    # <B>klog admin</B>
2233    Password: <VAR>admin_password</VAR>
2234     
2235 </PRE>
2236 <P><LI><A NAME="LIWQ160"></A>Issue the <B>vos create</B> command to create volumes for
2237 storing the AFS client binaries for this system type. The following
2238 example instruction creates volumes called <VAR>sysname</VAR>,
2239 <VAR>sysname</VAR>.<B>usr</B>, and
2240 <VAR>sysname</VAR>.<B>usr.afsws</B>. Refer to the
2241 <I>IBM AFS Release Notes</I> to learn the proper value of <VAR>sysname</VAR>
2242 for this system type. 
2243 <PRE>    
2244    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR>
2245      
2246    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR><B>.usr</B>
2247      
2248    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR><B>.usr.afsws</B>
2249     
2250 </PRE>
2251 <P><LI>Issue the <B>fs mkmount</B> command to mount the newly created
2252 volumes. Because the <B>root.cell</B> volume is replicated,
2253 you must precede the <I>cellname</I> part of the pathname with a period to
2254 specify the read/write mount point, as shown. Then issue the <B>vos
2255 release</B> command to release a new replica of the
2256 <B>root.cell</B> volume, and the <B>fs checkvolumes</B> command
2257 to force the local Cache Manager to access them. 
2258 <PRE>   
2259    # <B>fs mkmount -dir /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR> <B>-vol</B> <VAR>sysname</VAR>
2260    
2261    # <B>fs mkmount -dir /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr</B>  <B>-vol</B> <VAR>sysname</VAR><B>.usr</B>
2262    
2263    # <B>fs mkmount -dir /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B> <B>-vol</B> <VAR>sysname</VAR><B>.usr.afsws</B>
2264    
2265    # <B>vos release root.cell</B>
2266    
2267    # <B>fs checkvolumes</B>
2268    
2269 </PRE>
2270 <P><LI>Issue the <B>fs setacl</B> command to grant the <B>l</B>
2271 (<B>lookup</B>) and <B>r</B> (<B>read</B>) permissions to the
2272 <B>system:anyuser</B> group on each new directory's ACL.
2273 <PRE>   
2274    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR>
2275    
2276    # <B>fs setacl  -dir  .  usr  usr/afsws  -acl  system:anyuser rl</B> 
2277    
2278 </PRE>
2279 <P><LI>Issue the <B>fs setquota</B> command to set an unlimited quota on the
2280 volume mounted at the
2281 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
2282 directory. This enables you to copy all of the appropriate files from
2283 the CD-ROM into the volume without exceeding the volume's quota. 
2284 <P>If you wish, you can set the volume's quota to a finite value after
2285 you complete the copying operation. At that point, use the <B>vos
2286 examine</B> command to determine how much space the volume is
2287 occupying. Then issue the <B>fs setquota</B> command to set a quota
2288 that is slightly larger. 
2289 <PRE>   
2290    # <B>fs setquota /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws  0</B>
2291    
2292 </PRE>
2293 <P><LI><A NAME="LIWQ161"></A>Copy the contents of the indicated directories from the CD-ROM
2294 into the
2295 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
2296 directory.
2297 <PRE>   
2298    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
2299    
2300    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/bin  .</B>
2301    
2302    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/etc  .</B>
2303    
2304    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/include  .</B>
2305    
2306    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/lib  .</B>
2307    
2308 </PRE>
2309 <P><LI>Issue the <B>fs setacl</B> command to set the ACL on each directory
2310 appropriately. To comply with the terms of your AFS License agreement,
2311 you must prevent unauthorized users from accessing AFS software. To
2312 enable access for locally authenticated users only, set the ACL on the
2313 <B>etc</B>, <B>include</B>, and <B>lib</B> subdirectories to grant
2314 the <B>l</B> and <B>r</B> permissions to the
2315 <B>system:authuser</B> group rather than the
2316 <B>system:anyuser</B> group. The
2317 <B>system:anyuser</B> group must retain the <B>l</B> and
2318 <B>r</B> permissions on the <B>bin</B> subdirectory to enable
2319 unauthenticated users to access the <B>klog</B> binary. To ensure
2320 that unauthorized users are not accessing AFS software, check periodically
2321 that the ACLs on these directories are set properly.
2322 <PRE>     
2323    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
2324    
2325    # <B>fs setacl  -dir etc include lib  -acl  system:authuser rl</B>  \
2326               <B>system:anyuser none</B>
2327    
2328 </PRE>
2329 <P><LI><A NAME="LIWQ162"></A>Perform this step on the new client machine even if you have
2330 performed the previous steps on another machine. Create
2331 <B>/usr/afsws</B> on the local disk as a symbolic link to the directory
2332 <B>/afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws</B>. You can
2333 specify the actual system name instead of <B>@sys</B> if you wish, but the
2334 advantage of using <B>@sys</B> is that it remains valid if you upgrade
2335 this machine to a different system type. 
2336 <PRE>   
2337    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws  /usr/afsws</B>
2338    
2339 </PRE>
2340 <P><LI><B>(Optional)</B> To enable users to issue commands from the AFS
2341 suites (such as <B>fs</B>) without having to specify a pathname to their
2342 binaries, include the <B>/usr/afsws/bin</B> and <B>/usr/afsws/etc</B>
2343 directories in the PATH environment variable you define in each user's
2344 shell initialization file (such as <B>.cshrc</B>).
2345 <P><LI><B>(Optional)</B> If you believe it is helpful to your users to access
2346 the AFS documents in a certain format via a local disk directory, create
2347 <B>/usr/afsdoc</B> on the local disk as a symbolic link to the
2348 documentation directory in AFS
2349 (<B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>).
2350 <P>
2351 <PRE>   
2352    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR> <B>/usr/afsdoc</B>
2353 </PRE> 
2354 <P>An alternative is to create a link in each user's home directory to
2355 the <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>
2356 directory.
2357 <P><LI><B>(Optional)</B> If working on the local machine, remove the AFS
2358 binaries from the temporary location. They are now accessible in the
2359 <B>/usr/afsws</B> directory.
2360 <PRE>   
2361    # <B>cd  /tmp</B>
2362    
2363    # <B>rm  klog  fs  vos</B>
2364      
2365 </PRE>
2366 </OL>
2367 <HR><P ALIGN="center"> <A HREF="../index.htm"><IMG SRC="../books.gif" BORDER="0" ALT="[Return to Library]"></A> <A HREF="auqbg002.htm#ToC"><IMG SRC="../toc.gif" BORDER="0" ALT="[Contents]"></A> <A HREF="auqbg006.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="auqbg008.htm"><IMG SRC="../next.gif" BORDER="0" ALT="[Next Topic]"></A> <A HREF="auqbg009.htm#HDRINDEX"><IMG SRC="../index.gif" BORDER="0" ALT="[Index]"></A> <P> 
2368 <!-- Begin Footer Records  ========================================== -->
2369 <P><HR><B> 
2370 <br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A>  All Rights Reserved 
2371 </B> 
2372 <!-- End Footer Records  ============================================ -->
2373 <A NAME="Bot_Of_Page"></A>
2374 </BODY></HTML>