added button GIF's to the HTML docs
[openafs.git] / doc / html / QuickStartUnix / auqbg005.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="auqbg004.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="auqbg006.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="IDX2218"></A>
19 <A NAME="IDX2219"></A>
20 <A NAME="IDX2220"></A>
21 <HR><H1><A NAME="HDRWQ17" HREF="auqbg002.htm#ToC_28">Installing the First AFS Machine</A></H1>
22 <P>This chapter describes how to install the first AFS machine
23 in your cell, configuring it as both a file server machine and a client
24 machine. After completing all procedures in this chapter, you can
25 remove the client functionality if you wish, as described in <A HREF="#HDRWQ98">Removing Client Functionality</A>.
26 <P>To install additional file server machines after completing this chapter,
27 see <A HREF="auqbg006.htm#HDRWQ99">Installing Additional Server Machines</A>.
28 <P>To install additional client machines after completing this chapter, see <A HREF="auqbg007.htm#HDRWQ133">Installing Additional Client Machines</A>.
29 <A NAME="IDX2221"></A>
30 <HR><H2><A NAME="Header_29" HREF="auqbg002.htm#ToC_29">Requirements and Configuration Decisions</A></H2>
31 <P>The instructions in this chapter assume that you meet the following
32 requirements.
33 <UL>
34 <P><LI>You are logged onto the machine's console as the local superuser
35 <B>root</B>
36 <P><LI>A standard version of one of the operating systems supported by the
37 current version of AFS is running on the machine
38 <P><LI>You can access the data on the AFS CD-ROMs, either through a local CD
39 drive or via an NFS mount of a CD drive attached to a machine that is
40 accessible by network
41 </UL>
42 <P>You must make the following configuration decisions while installing the
43 first AFS machine. To speed the installation itself, it is best to make
44 the decisions before beginning. See the chapter in the <I>IBM AFS
45 Administration Guide</I> about issues in cell administration and
46 configuration for detailed guidelines.
47 <A NAME="IDX2222"></A>
48 <A NAME="IDX2223"></A>
49 <A NAME="IDX2224"></A>
50 <UL>
51 <P><LI>Select the first AFS machine
52 <P><LI>Select the cell name
53 <P><LI>Decide which partitions or logical volumes to configure as AFS server
54 partitions, and choose the directory names on which to mount them
55 <P><LI>Decide whether to use the standard AFS authentication and authorization
56 software or Kerberos as obtained from another source. On several system
57 types, the decision determines how you incorporate AFS into the machine's
58 authentication system. If you wish to use Kerberos, contact the AFS
59 Product Support group now to learn about how you must modify the installation
60 procedure.
61 <P><LI>Decide how big to make the client cache
62 <P><LI>Decide how to configure the top levels of your cell's AFS filespace
63 </UL>
64 <P>This chapter is divided into three large sections corresponding to the
65 three parts of installing the first AFS machine. Perform all of the
66 steps in the order they appear. Each functional section begins with a
67 summary of the procedures to perform. The sections are as
68 follows:
69 <UL>
70 <P><LI>Installing server functionality (begins in <A HREF="#HDRWQ18">Overview: Installing Server Functionality</A>)
71 <P><LI>Installing client functionality (begins in <A HREF="#HDRWQ63">Overview: Installing Client Functionality</A>)
72 <P><LI>Configuring your cell's filespace, establishing further security
73 mechanisms, and enabling access to foreign cells (begins in <A HREF="#HDRWQ71">Overview: Completing the Installation of the First AFS Machine</A>)
74 </UL>
75 <A NAME="IDX2225"></A>
76 <A NAME="IDX2226"></A>
77 <A NAME="IDX2227"></A>
78 <HR><H2><A NAME="HDRWQ18" HREF="auqbg002.htm#ToC_30">Overview: Installing Server Functionality</A></H2>
79 <P>In the first phase of installing your cell's first AFS
80 machine, you install file server and database server functionality by
81 performing the following procedures:
82 <OL TYPE=1>
83 <P><LI>Choose which machine to install as the first AFS machine
84 <P><LI>Create AFS-related directories on the local disk
85 <P><LI>Incorporate AFS modifications into the machine's kernel
86 <P><LI>Configure partitions or logical volumes for storing AFS volumes
87 <P><LI>On some system types, install and configure an AFS-modified version of the
88 <B>fsck</B> program
89 <P><LI>If the machine is to remain a client machine, incorporate AFS into its
90 authentication system
91 <P><LI>Start the Basic OverSeer (BOS) Server
92 <P><LI>Define the cell name and the machine's cell membership
93 <P><LI>Start the database server processes: Authentication Server, Backup
94 Server, Protection Server, and Volume Location (VL) Server
95 <P><LI>Configure initial security mechanisms
96 <P><LI>Start the <B>fs</B> process, which incorporates three component
97 processes: the File Server, Volume Server, and Salvager
98 <P><LI>Start the server portion of the Update Server
99 <P><LI>Start the controller process (called <B>runntp</B>) for the Network
100 Time Protocol Daemon, which synchronizes machine clocks
101 </OL>
102 <HR><H2><A NAME="HDRWQ19" HREF="auqbg002.htm#ToC_31">Choosing the First AFS Machine</A></H2>
103 <P>The first AFS machine you install must have sufficient disk
104 space to store AFS volumes. To take best advantage of AFS's
105 capabilities, store client-side binaries as well as user files in
106 volumes. When you later install additional file server machines in your
107 cell, you can distribute these volumes among the different machines as you see
108 fit.
109 <P>These instructions configure the first AFS machine as a <I>database
110 server machine</I>, the <I>binary distribution machine</I> for its
111 system type, and the cell's <I>system control machine</I>. For
112 a description of these roles, see the <I>IBM AFS Administration
113 Guide</I>.
114 <P>Installation of additional machines is simplest if the first machine has
115 the lowest IP address of any database server machine you currently plan to
116 install. If you later install database server functionality on a
117 machine with a lower IP address, you must first update the
118 <B>/usr/vice/etc/CellServDB</B> file on all of your cell's client
119 machines. For more details, see <A HREF="auqbg006.htm#HDRWQ114">Installing Database Server Functionality</A>.
120 <HR><H2><A NAME="Header_32" HREF="auqbg002.htm#ToC_32">Creating AFS Directories</A></H2>
121 <A NAME="IDX2228"></A>
122 <A NAME="IDX2229"></A>
123 <A NAME="IDX2230"></A>
124 <A NAME="IDX2231"></A>
125 <A NAME="IDX2232"></A>
126 <A NAME="IDX2233"></A>
127 <A NAME="IDX2234"></A>
128 <A NAME="IDX2235"></A>
129 <A NAME="IDX2236"></A>
130 <A NAME="IDX2237"></A>
131 <A NAME="IDX2238"></A>
132 <P>Create the <B>/usr/afs</B> and <B>/usr/vice/etc</B> directories on
133 the local disk, to house server and client files respectively.
134 Subsequent instructions copy files from the AFS CD-ROM into them.
135 Create the <B>/cdrom</B> directory as a mount point for CD-ROMs, if it
136 does not already exist.
137 <PRE>      
138    # <B>mkdir /usr/afs</B>
139       
140    # <B>mkdir /usr/vice</B>
141       
142    # <B>mkdir /usr/vice/etc</B>
143    
144    # <B>mkdir /cdrom</B> 
145      
146 </PRE>
147 <HR><H2><A NAME="HDRWQ20" HREF="auqbg002.htm#ToC_33">Performing Platform-Specific Procedures</A></H2>
148 <P>Several of the initial procedures for installing a file
149 server machine differ for each system type. For convenience, the
150 following sections group them together for each system type:
151 <UL>
152 <A NAME="IDX2239"></A>
153 <A NAME="IDX2240"></A>
154 <A NAME="IDX2241"></A>
155 <P><LI>Incorporate AFS modifications into the kernel.
156 <P>The kernel on every AFS file server and client machine must incorporate AFS
157 extensions. On machines that use a dynamic kernel module loader, it is
158 conventional to alter the machine's initialization script to load the AFS
159 extensions at each reboot.
160 <A NAME="IDX2242"></A>
161 <A NAME="IDX2243"></A>
162 <A NAME="IDX2244"></A>
163 <A NAME="IDX2245"></A>
164 <A NAME="IDX2246"></A>
165 <A NAME="IDX2247"></A>
166 <A NAME="IDX2248"></A>
167 <P><LI>Configure server partitions or logical volumes to house AFS
168 volumes. 
169 <P>Every AFS file server machine must have at least one partition or logical
170 volume dedicated to storing AFS volumes (for convenience, the documentation
171 hereafter refers to partitions only). Each server partition is mounted
172 at a directory named <B>/vicep</B><VAR>xx</VAR>, where <VAR>xx</VAR> is one or
173 two lowercase letters. By convention, the first 26 partitions are
174 mounted on the directories called <B>/vicepa</B> through
175 <B>/vicepz</B>, the 27th one is mounted on the <B>/vicepaa</B>
176 directory, and so on through <B>/vicepaz</B> and <B>/vicepba</B>,
177 continuing up to the index corresponding to the maximum number of server
178 partitions supported in the current version of AFS (which is specified in the
179 <I>IBM AFS Release Notes</I>). 
180 <P>The <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
181 machine's root directory, not in one of its subdirectories (for example,
182 <B>/usr/vicepa</B> is not an acceptable directory location). 
183 <P>You can also add or remove server partitions on an existing file server
184 machine. For instructions, see the chapter in the <I>IBM AFS
185 Administration Guide</I> about maintaining server machines. 
186 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Not all file system types supported by an operating system are necessarily
187 supported as AFS server partitions. For possible restrictions, see the
188 <I>IBM AFS Release Notes</I>.
189 </TD></TR></TABLE>
190 <P><LI>On some system types, install and configure a modified <B>fsck</B>
191 program which recognizes the structures that the File Server uses to organize
192 volume data on AFS server partitions. The <B>fsck</B> program
193 provided with the operating system does not understand the AFS data
194 structures, and so removes them to the <B>lost+found</B> directory.
195 <P><LI>If the machine is to remain an AFS client machine, modify the
196 machine's authentication system so that users obtain an AFS token as they
197 log into the local file system. Using AFS is simpler and more
198 convenient for your users if you make the modifications on all client
199 machines. Otherwise, users must perform a two-step login procedure
200 (login to the local file system and then issue the <B>klog</B>
201 command). For further discussion of AFS authentication, see the chapter
202 in the <I>IBM AFS Administration Guide</I> about cell configuration and
203 administration issues.
204 </UL>
205 <P>To continue, proceed to the appropriate section:
206 <UL>
207 <P><LI><A HREF="#HDRWQ21">Getting Started on AIX Systems</A>
208 <P><LI><A HREF="#HDRWQ26">Getting Started on Digital UNIX Systems</A>
209 <P><LI><A HREF="#HDRWQ31">Getting Started on HP-UX Systems</A>
210 <P><LI><A HREF="#HDRWQ36">Getting Started on IRIX Systems</A>
211 <P><LI><A HREF="#HDRWQ41">Getting Started on Linux Systems</A>
212 <P><LI><A HREF="#HDRWQ45">Getting Started on Solaris Systems</A>
213 </UL>
214 <HR><H2><A NAME="HDRWQ21" HREF="auqbg002.htm#ToC_34">Getting Started on AIX Systems</A></H2>
215 <P>Begin by running the AFS initialization script to call the
216 AIX kernel extension facility, which dynamically loads AFS modifications into
217 the kernel. Then use the <B>SMIT</B> program to configure
218 partitions for storing AFS volumes, and replace the AIX <B>fsck</B>
219 program helper with a version that correctly handles AFS volumes. If
220 the machine is to remain an AFS client machine, incorporate AFS into the AIX
221 secondary authentication system.
222 <A NAME="IDX2249"></A>
223 <A NAME="IDX2250"></A>
224 <A NAME="IDX2251"></A>
225 <A NAME="IDX2252"></A>
226 <P><H3><A NAME="HDRWQ22" HREF="auqbg002.htm#ToC_35">Loading AFS into the AIX Kernel</A></H3>
227 <P>The AIX kernel extension facility is the dynamic kernel
228 loader provided by IBM Corporation. AIX does not support incorporation
229 of AFS modifications during a kernel build.
230 <P>For AFS to function correctly, the kernel extension facility must run each
231 time the machine reboots, so the AFS initialization script (included in the
232 AFS distribution) invokes it automatically. In this section you copy
233 the script to the conventional location and edit it to select the appropriate
234 options depending on whether NFS is also to run.
235 <P>After editing the script, you run it to incorporate AFS into the
236 kernel. In later sections you verify that the script correctly
237 initializes all AFS components, then configure the AIX <B>inittab</B> file
238 so that the script runs automatically at reboot.
239 <OL TYPE=1>
240 <P><LI>Mount the AFS CD-ROM for AIX on the local <B>/cdrom</B>
241 directory. For instructions on mounting CD-ROMs (either locally or
242 remotely via NFS), see your AIX documentation. Then change directory as
243 indicated. 
244 <PRE>   
245    # <B>cd  /cdrom/rs_aix42/root.client/usr/vice/etc</B>
246    
247 </PRE>
248 <P><LI>Copy the AFS kernel library files to the local
249 <B>/usr/vice/etc/dkload</B> directory, and the AFS initialization script
250 to the <B>/etc</B> directory. 
251 <PRE>   
252    # <B>cp -rp  dkload  /usr/vice/etc</B>
253    
254    # <B>cp -p  rc.afs  /etc/rc.afs</B>
255     
256 </PRE>
257 <P><LI>Edit the <B>/etc/rc.afs</B> script, setting the <TT>NFS</TT>
258 variable as indicated.
259 <P>If the machine is not to function as an NFS/AFS Translator, set the
260 <TT>NFS</TT> variable as follows.
261 <PRE>      
262    NFS=$NFS_NONE
263 </PRE> 
264 <P>If the machine is to function as an NFS/AFS Translator and is running AIX
265 4.2.1 or higher, set the <TT>NFS</TT> variable as
266 follows. Note that NFS must already be loaded into the kernel, which
267 happens automatically on systems running AIX 4.1.1 and later, as
268 long as the file <B>/etc/exports</B> exists.
269 <PRE>   
270    NFS=$NFS_IAUTH
271    
272 </PRE>
273 <P><LI>Invoke the <B>/etc/rc.afs</B> script to load AFS modifications
274 into the kernel. You can ignore any error messages about the inability
275 to start the BOS Server or the Cache Manager or AFS client.
276 <PRE>   
277    # <B>/etc/rc.afs</B>
278    
279 </PRE>
280 </OL>
281 <A NAME="IDX2253"></A>
282 <A NAME="IDX2254"></A>
283 <A NAME="IDX2255"></A>
284 <A NAME="IDX2256"></A>
285 <P><H3><A NAME="HDRWQ23" HREF="auqbg002.htm#ToC_36">Configuring Server Partitions on AIX Systems</A></H3>
286 <P>Every AFS file server machine must have at least one
287 partition or logical volume dedicated to storing AFS volumes. Each
288 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
289 where <VAR>xx</VAR> is one or two lowercase letters. The
290 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
291 machine's root directory, not in one of its subdirectories (for example,
292 <B>/usr/vicepa</B> is not an acceptable directory location). For
293 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
294 <P>To configure server partitions on an AIX system, perform the following
295 procedures:
296 <OL TYPE=1>
297 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
298 partition you are configuring (there must be at least one). Repeat the
299 command for each partition.
300 <PRE>   
301    # <B>mkdir /vicep</B><VAR>xx</VAR>
302    
303 </PRE>
304 <P><LI>Use the <B>SMIT</B> program to create a journaling file system on each
305 partition to be configured as an AFS server partition.
306 <P><LI>Mount each partition at one of the <B>/vicep</B><VAR>xx</VAR>
307 directories. Choose one of the following three methods:
308 <UL>
309 <P><LI>Use the <B>SMIT</B> program
310 <P><LI>Use the <B>mount -a</B> command to mount all partitions at once
311 <P><LI>Use the <B>mount</B> command on each partition in turn
312 </UL> 
313 <P>Also configure the partitions so that they are mounted automatically at
314 each reboot. For more information, refer to the AIX
315 documentation.
316 </OL>
317 <A NAME="IDX2257"></A>
318 <A NAME="IDX2258"></A>
319 <A NAME="IDX2259"></A>
320 <A NAME="IDX2260"></A>
321 <P><H3><A NAME="HDRWQ24" HREF="auqbg002.htm#ToC_37">Replacing the fsck Program Helper on AIX Systems</A></H3>
322 <P>In this section, you make modifications to guarantee that the
323 appropriate <B>fsck</B> program runs on AFS server partitions. The
324 <B>fsck</B> program provided with the operating system must never run on
325 AFS server partitions. Because it does not recognize the structures
326 that the File Server uses to organize volume data, it removes all of the
327 data. To repeat:
328 <P><B>Never run the standard fsck program on AFS server partitions.
329 It discards AFS volumes.</B>
330 <P>On AIX systems, you do not replace the <B>fsck</B> binary itself, but
331 rather the <I>program helper</I> file included in the AIX distribution as
332 <B>/sbin/helpers/v3fshelper</B>.
333 <OL TYPE=1>
334 <P><LI>Move the AIX <B>fsck</B> program helper to a safe location and install
335 the version from the AFS distribution in its place. The AFS CD-ROM must
336 still be mounted at the <B>/cdrom</B> directory. 
337 <PRE>   
338    # <B>cd /sbin/helpers</B>
339    
340    # <B>mv v3fshelper v3fshelper.noafs</B>
341    
342    # <B>cp -p /cdrom/rs_aix42/root.server/etc/v3fshelper v3fshelper</B>
343    
344  
345 </PRE>
346 <P><LI>If you plan to retain client functionality on this machine after
347 completing the installation, proceed to <A HREF="#HDRWQ25">Enabling AFS Login on AIX Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
348 </OL>
349 <A NAME="IDX2261"></A>
350 <A NAME="IDX2262"></A>
351 <A NAME="IDX2263"></A>
352 <A NAME="IDX2264"></A>
353 <A NAME="IDX2265"></A>
354 <P><H3><A NAME="HDRWQ25" HREF="auqbg002.htm#ToC_38">Enabling AFS Login on AIX Systems</A></H3>
355 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
356 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
357 </TD></TR></TABLE>
358 <P>Follow the instructions in this section to incorporate AFS modifications
359 into the AIX secondary authentication system.
360 <OL TYPE=1>
361 <P><LI>Issue the <B>ls</B> command to verify that the
362 <B>afs_dynamic_auth</B> and <B>afs_dynamic_kerbauth</B> programs are
363 installed in the local <B>/usr/vice/etc</B> directory. 
364 <PRE>   
365    # <B>ls /usr/vice/etc</B>   
366 </PRE> 
367 <P>If the files do not exist, mount the AFS CD-ROM for AIX (if it is not
368 already), change directory as indicated, and copy them.
369 <PRE>  
370    # <B>cd /cdrom/rs_aix42/root.client/usr/vice/etc</B>
371    
372    # <B>cp  -p  afs_dynamic*  /usr/vice/etc</B>
373    
374 </PRE>
375 <P><LI>Edit the local <B> /etc/security/user</B> file, making changes to the
376 indicated stanzas:
377 <UL>
378 <P><LI>In the default stanza, set the <TT>registry</TT> attribute to
379 <B>DCE</B> (not to <B>AFS</B>), as follows:
380 <PRE>   
381    registry = DCE
382    
383 </PRE>
384 <P><LI>In the default stanza, set the <TT>SYSTEM</TT> attribute as
385 indicated.
386 <P>If the machine is an AFS client only, set the following value:
387 <PRE>   
388    SYSTEM = "AFS OR (AFS[UNAVAIL] AND compat[SUCCESS])"   
389 </PRE> 
390 <P>If the machine is both an AFS and a DCE client, set the following value (it
391 must appear on a single line in the file):
392 <PRE>   
393    SYSTEM = "DCE OR DCE[UNAVAIL] OR AFS OR (AFS[UNAVAIL]  \
394        AND compat[SUCCESS])"
395    
396 </PRE>
397 <P><LI>In the <TT>root</TT> stanza, set the <TT>registry</TT> attribute as
398 follows. It enables the local superuser <B>root</B> to log into the
399 local file system only, based on the password listed in the local password
400 file.
401 <PRE>   
402    root:
403          registry = files
404    
405 </PRE>
406 </UL>
407 <P><LI>Edit the local <B>/etc/security/login.cfg</B> file, creating or
408 editing the indicated stanzas:
409 <UL>
410 <P><LI>In the <TT>DCE</TT> stanza, set the <TT>program</TT> attribute as
411 follows.
412 <P>If you use the AFS Authentication Server (<B>kaserver</B>
413 process):
414 <PRE>   
415    DCE:
416         program = /usr/vice/etc/afs_dynamic_auth   
417 </PRE> 
418 <P>If you use a Kerberos implementation of AFS authentication:
419 <PRE>   
420    DCE:
421         program = /usr/vice/etc/afs_dynamic_kerbauth
422    
423 </PRE>
424 <P><LI>In the <TT>AFS</TT> stanza, set the <TT>program</TT> attribute as
425 follows.
426 <P>If you use the AFS Authentication Server (<B>kaserver</B>
427 process):
428 <PRE>   
429    AFS:
430         program = /usr/vice/etc/afs_dynamic_auth   
431 </PRE> 
432 <P>If you use a Kerberos implementation of AFS authentication:
433 <PRE>   
434    AFS:
435         program = /usr/vice/etc/afs_dynamic_kerbauth
436    
437 </PRE>
438 </UL>
439 <P><LI>Proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A> (or if referring to these instructions while installing an
440 additional file server machine, return to <A HREF="auqbg006.htm#HDRWQ108">Starting Server Programs</A>).
441 </OL>
442 <HR><H2><A NAME="HDRWQ26" HREF="auqbg002.htm#ToC_39">Getting Started on Digital UNIX Systems</A></H2>
443 <P>Begin by either building AFS modifications into a new static
444 kernel or by setting up to dynamically load the AFS kernel module. Then create
445 partitions for storing AFS volumes, and replace the Digital UNIX
446 <B>fsck</B> program with a version that correctly handles AFS
447 volumes. If the machine is to remain an AFS client machine, incorporate
448 AFS into the machine's Security Integration Architecture (SIA)
449 matrix.
450 <A NAME="IDX2266"></A>
451 <A NAME="IDX2267"></A>
452 <A NAME="IDX2268"></A>
453 <A NAME="IDX2269"></A>
454 <P><H3><A NAME="HDRWQ27a" HREF="auqbg002.htm#ToC_40a">Loading AFS into the Digital UNIX Kernel</A></H3>
455 <P>The <B>sysconfig</B> program is the dynamic kernel loader provided
456 for Digital UNIX systems. 
457 <P>For AFS to function correctly, the <B>sysconfig</B> program must run each
458 time the machine reboots, so the AFS initialization script (included on the
459 AFS CD-ROM) invokes it automatically. In this section you copy the
460 appropriate AFS library file to the location where the <B>sysconfig</B>
461 program accesses it and then run the script.
462 <P>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
463 directory. For instructions on mounting CD-ROMs (either locally or
464 remotely via NFS), see your Digital UNIX documentation. Then change
465 directory as indicated.
466 <PRE>   
467    # <B>cd /cdrom/alpha_dux40/root.client</B>
468    
469 </PRE>
470 <P>Copy the AFS initialization script to the local directory for
471 initialization files (by convention, <B>/sbin/init.d</B> on Digital
472 UNIX machines). Note the removal of the <B>.rc</B> extension
473 as you copy the script.
474 <PRE>   
475    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
476    
477 </PRE>
478 <P>Copy the AFS kernel module to the local <B>/subsys</B>
479 directory. 
480 <PRE>  
481    # <B>cp bin/afs.mod /subsys/afs.mod</B>   
482 </PRE> 
483 <P>Set up the system to load the module at startup.
484 <PRE>
485    # <B>/sbin/init.d/autosysconfig add afs</B>
486 </PRE>
487 <P>Reboot the machine to start using the new kernel, and login again as the
488 superuser <B>root</B>. 
489 <PRE>   
490    # <B>cd /</B>
491    
492    # <B>shutdown -r now</B>
493    
494    login: <B>root</B>
495    Password: <VAR>root_password</VAR>
496    
497 </PRE>
498 <P><H3><A NAME="HDRWQ27" HREF="auqbg002.htm#ToC_40">Building AFS into the Digital UNIX Kernel</A></H3>
499 <P>Use the following instructions to build AFS modifications
500 into the kernel on a Digital UNIX system.
501 <OL TYPE=1>
502 <P><LI>Create a copy called <B>AFS</B> of the basic kernel configuration file
503 included in the Digital UNIX distribution as
504 <B>/usr/sys/conf/</B><VAR>machine_name</VAR>, where <VAR>machine_name</VAR> is
505 the machine's hostname in all uppercase letters. 
506 <PRE>   
507    # <B>cd /usr/sys/conf</B>
508    
509    # <B>cp</B> <VAR>machine_name</VAR> <B>AFS</B>
510    
511 </PRE>
512 <P><LI>Add AFS to the list of options in the configuration file you created in
513 the previous step, so that the result looks like the following: 
514 <PRE>          .                   .
515           .                   .
516        options               UFS
517        options               NFS
518        options               AFS
519           .                   .
520           .                   .
521    
522 </PRE>
523 <P><LI>Add an entry for AFS to two places in the file
524 <B>/usr/sys/conf/files</B>. 
525 <UL>
526 <P><LI>Add a line for AFS to the list of <TT>OPTIONS</TT>, so that the result
527 looks like the following:
528 <PRE>             .                .      .
529              .                .      .
530       OPTIONS/nfs          optional nfs 
531       OPTIONS/afs          optional afs 
532       OPTIONS/nfs_server   optional nfs_server
533              .                .      .
534              .                .      .
535    
536 </PRE>
537 <P><LI>Add an entry for AFS to the list of <TT>MODULES</TT>, so that the result
538 looks like the following:
539 <PRE>             .                  .        .          .
540              .                  .        .          .
541       #
542       MODULE/nfs_server     optional nfs_server Binary
543       nfs/nfs_server.c      module nfs_server optimize -g3
544       nfs/nfs3_server.c     module nfs_server optimize -g3
545       #
546       MODULE/afs            optional afs Binary
547       afs/libafs.c          module afs
548       #
549    
550 </PRE>
551 </UL>
552 <P><LI>Add an entry for AFS to two places in the file
553 <B>/usr/sys/vfs/vfs_conf.c</B>. 
554 <UL>
555 <P><LI>Add AFS to the list of defined file systems, so that the result looks like
556 the following:
557 <PRE>        .       .              
558         .       .              
559      #include &lt;afs.h>
560      #if defined(AFS) &amp;&amp; AFS
561             extern struct vfsops afs_vfsops;
562      #endif  
563         .       .              
564         .       .              
565    
566 </PRE>
567 <P><LI>Put a declaration for AFS in the <B>vfssw[]</B> table's
568 MOUNT_ADDON slot, so that the result looks like the following: 
569 <PRE>        .                          .              .
570         .                          .              .
571       &amp;fdfs_vfsops,         "fdfs",   /* 12 = MOUNT_FDFS */
572    #if  defined(AFS)
573       &amp;afs_vfsops,          "afs",
574    #else
575       (struct vfsops *)0,   "",       /* 13 = MOUNT_ADDON */
576    #endif
577    #if NFS &amp;&amp; INFS_DYNAMIC   
578        &amp;nfs3_vfsops,        "nfsv3",  /* 14 = MOUNT_NFS3 */         
579    
580 </PRE>
581 </UL>
582 <P><LI>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
583 directory. For instructions on mounting CD-ROMs (either locally or
584 remotely via NFS), see your Digital UNIX documentation. Then change
585 directory as indicated.
586 <PRE>   
587    # <B>cd /cdrom/alpha_dux40/root.client</B>
588    
589 </PRE>
590 <P><LI>Copy the AFS initialization script to the local directory for
591 initialization files (by convention, <B>/sbin/init.d</B> on Digital
592 UNIX machines). Note the removal of the <B>.rc</B> extension
593 as you copy the script.
594 <PRE>   
595    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
596    
597 </PRE>
598 <P><LI>Copy the AFS kernel module to the local <B>/usr/sys/BINARY</B>
599 directory. 
600 <P>If the machine's kernel supports NFS server functionality:
601 <PRE>  
602    # <B>cp bin/libafs.o /usr/sys/BINARY/afs.mod</B>   
603 </PRE> 
604 <P>If the machine's kernel does not support NFS server
605 functionality:
606 <PRE>  
607    # <B>cp bin/libafs.nonfs.o /usr/sys/BINARY/afs.mod</B>
608    
609 </PRE>
610 <P><LI>Configure and build the kernel. Respond to any prompts by pressing
611 &lt;<B>Return</B>>. The resulting kernel resides in the file
612 <B>/sys/AFS/vmunix</B>. 
613 <PRE>   
614    # <B>doconfig -c AFS</B>
615    
616 </PRE>
617 <P><LI>Rename the existing kernel file and copy the new, AFS-modified file to the
618 standard location. 
619 <PRE>   
620    # <B>mv /vmunix /vmunix_noafs</B>
621    
622    # <B>cp /sys/AFS/vmunix /vmunix</B>
623    
624 </PRE>
625 <P><LI>Reboot the machine to start using the new kernel, and login again as the
626 superuser <B>root</B>. 
627 <PRE>   
628    # <B>cd /</B>
629    
630    # <B>shutdown -r now</B>
631    
632    login: <B>root</B>
633    Password: <VAR>root_password</VAR>
634    
635 </PRE>
636 </OL>
637 <A NAME="IDX2270"></A>
638 <A NAME="IDX2271"></A>
639 <A NAME="IDX2272"></A>
640 <A NAME="IDX2273"></A>
641 <P><H3><A NAME="HDRWQ28" HREF="auqbg002.htm#ToC_41">Configuring Server Partitions on Digital UNIX Systems</A></H3>
642 <P>Every AFS file server machine must have at least one
643 partition or logical volume dedicated to storing AFS volumes. Each
644 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
645 where <VAR>xx</VAR> is one or two lowercase letters. The
646 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
647 machine's root directory, not in one of its subdirectories (for example,
648 <B>/usr/vicepa</B> is not an acceptable directory location). For
649 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
650 <OL TYPE=1>
651 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
652 partition you are configuring (there must be at least one). Repeat the
653 command for each partition.
654 <PRE>   
655    # <B>mkdir /vicep</B><VAR>xx</VAR>
656    
657 </PRE>
658 <P><LI>Add a line with the following format to the file systems registry file,
659 <B>/etc/fstab</B>, for each directory just created. The entry maps
660 the directory name to the disk partition to be mounted on it.
661 <PRE>   
662    /dev/<VAR>disk</VAR> /vicep<VAR>xx</VAR> ufs rw 0 2
663 </PRE> 
664 <P>The following is an example for the first partition being
665 configured. 
666 <PRE>   
667    /dev/rz3a /vicepa ufs rw 0 2
668    
669 </PRE>
670 <P><LI>Create a file system on each partition that is to be mounted at a
671 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
672 probably appropriate, but consult the Digital UNIX documentation for more
673 information. 
674 <PRE>   
675    #<B> newfs -v /dev/</B><VAR>disk</VAR>
676    
677 </PRE>
678 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
679 mount all partitions at once or the <B>mount</B> command to mount each
680 partition in turn.
681 </OL>
682 <A NAME="IDX2274"></A>
683 <A NAME="IDX2275"></A>
684 <A NAME="IDX2276"></A>
685 <A NAME="IDX2277"></A>
686 <P><H3><A NAME="HDRWQ29" HREF="auqbg002.htm#ToC_42">Replacing the fsck Program on Digital UNIX Systems</A></H3>
687 <P>In this section, you make modifications to guarantee that the
688 appropriate <B>fsck</B> program runs on AFS server partitions. The
689 <B>fsck</B> program provided with the operating system must never run on
690 AFS server partitions. Because it does not recognize the structures
691 that the File Server uses to organize volume data, it removes all of the
692 data. To repeat:
693 <P><B>Never run the standard fsck program on AFS server partitions.
694 It discards AFS volumes.</B>
695 <P>On Digital UNIX systems, the files <B>/sbin/fsck</B> and
696 <B>/usr/sbin/fsck</B> are driver programs. Rather than replacing
697 either of them, you replace the actual binary included in the Digital UNIX
698 distribution as <B>/sbin/ufs_fsck</B> and
699 <B>/usr/sbin/ufs_fsck</B>.
700 <OL TYPE=1>
701 <P><LI>Install the <B>vfsck</B> binary to the <B>/sbin</B> and
702 <B>/usr/sbin</B> directories. The AFS CD-ROM must still be mounted
703 at the <B>/cdrom</B> directory.
704 <PRE>   
705    # <B>cd /cdrom/alpha_dux40/root.server/etc</B>
706    
707    # <B>cp vfsck /sbin/vfsck</B>
708    
709    # <B>cp vfsck /usr/sbin/vfsck</B>
710    
711 </PRE>
712 <P><LI>Rename the Digital UNIX <B>fsck</B> binaries and create symbolic links
713 to the <B>vfsck</B> program.
714 <PRE>   
715    # <B>cd /sbin</B>
716    
717    # <B>mv ufs_fsck ufs_fsck.noafs</B>
718    
719    # <B>ln -s vfsck ufs_fsck</B>
720    
721    # <B>cd /usr/sbin</B>
722    
723    # <B>mv ufs_fsck ufs_fsck.noafs</B>
724    
725    # <B>ln -s vfsck ufs_fsck</B>
726    
727 </PRE>
728 <P><LI>If you plan to retain client functionality on this machine after
729 completing the installation, proceed to <A HREF="#HDRWQ30">Enabling AFS Login on Digital UNIX Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
730 </OL>
731 <A NAME="IDX2278"></A>
732 <A NAME="IDX2279"></A>
733 <A NAME="IDX2280"></A>
734 <A NAME="IDX2281"></A>
735 <A NAME="IDX2282"></A>
736 <A NAME="IDX2283"></A>
737 <P><H3><A NAME="HDRWQ30" HREF="auqbg002.htm#ToC_43">Enabling AFS Login on Digital UNIX Systems</A></H3>
738 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
739 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
740 </TD></TR></TABLE>
741 <P>On Digital UNIX systems, the AFS initialization script automatically
742 incorporates the AFS authentication library file into the Security Integration
743 Architecture (SIA) matrix on the machine, so that users with AFS accounts
744 obtain a token at login. In this section you copy the library file to
745 the appropriate location.
746 <P>For more information on SIA, see the Digital UNIX reference page for
747 <B>matrix.conf</B>, or consult the section on security in your
748 Digital UNIX documentation.
749 <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
750 after DCE. Consult the AFS initialization script for suggested symbolic
751 links to create for correct ordering. Also, the system startup script
752 order must initialize SIA before any long-running process that uses
753 authentication.
754 </TD></TR></TABLE>
755 <P>Perform the following steps to enable AFS login.
756 <OL TYPE=1>
757 <P><LI>Mount the AFS CD-ROM for Digital UNIX on the local <B>/cdrom</B>
758 directory, if it is not already. Change directory as indicated. 
759 <PRE>   
760    # <B>cd /cdrom/alpha_dux40/lib/afs</B>
761    
762 </PRE>
763 <P><LI>Copy the appropriate AFS authentication library file to the local
764 <B>/usr/shlib</B> directory. 
765 <P>If you use the AFS Authentication Server (<B>kaserver</B> process) in
766 the cell:
767 <PRE>   
768    # <B>cp  libafssiad.so  /usr/shlib</B>   
769 </PRE> 
770 <P>If you use a Kerberos implementation of AFS authentication, rename the
771 library file as you copy it:
772 <PRE>   
773    # <B>cp  libafssiad.krb.so  /usr/shlib/libafssiad.so</B>
774    
775 </PRE>
776 <P><LI>Proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A> (or if referring to these instructions while installing an
777 additional file server machine, return to <A HREF="auqbg006.htm#HDRWQ108">Starting Server Programs</A>).
778 </OL>
779 <HR><H2><A NAME="HDRWQ31" HREF="auqbg002.htm#ToC_44">Getting Started on HP-UX Systems</A></H2>
780 <P>Begin by building AFS modifications into a new kernel;
781 HP-UX does not support dynamic loading. Then create partitions for
782 storing AFS volumes, and install and configure the AFS-modified
783 <B>fsck</B> program to run on AFS server partitions. If the machine
784 is to remain an AFS client machine, incorporate AFS into the machine's
785 Pluggable Authentication Module (PAM) scheme.
786 <A NAME="IDX2284"></A>
787 <A NAME="IDX2285"></A>
788 <A NAME="IDX2286"></A>
789 <A NAME="IDX2287"></A>
790 <P><H3><A NAME="HDRWQ32" HREF="auqbg002.htm#ToC_45">Building AFS into the HP-UX Kernel</A></H3>
791 <P>Use the following instructions to build AFS modifications
792 into the kernel on an HP-UX system.
793 <OL TYPE=1>
794 <P><LI>Move the existing kernel-related files to a safe location. 
795 <PRE>   
796    # <B>cp /stand/vmunix /stand/vmunix.noafs</B>
797    
798    # <B>cp /stand/system /stand/system.noafs</B>
799    
800 </PRE>
801 <P><LI>Mount the AFS CD-ROM for HP-UX on the local <B>/cdrom</B>
802 directory. For instructions on mounting CD-ROMs (either locally or
803 remotely via NFS), see your HP-UX documentation. Then change directory
804 as indicated. 
805 <PRE>   
806    # <B>cd /cdrom/hp_ux110/root.client</B>
807    
808 </PRE>
809 <P><LI>Copy the AFS initialization file to the local directory for initialization
810 files (by convention, <B>/sbin/init.d</B> on HP-UX
811 machines). Note the removal of the <B>.rc</B> extension as
812 you copy the file.
813 <PRE>   
814    # <B>cp usr/vice/etc/afs.rc  /sbin/init.d/afs</B>
815    
816 </PRE>
817 <P><LI>Copy the file <B>afs.driver</B> to the local
818 <B>/usr/conf/master.d</B> directory, changing its name to
819 <B>afs</B> as you do. 
820 <PRE>     
821    # <B>cp  usr/vice/etc/afs.driver  /usr/conf/master.d/afs</B>
822    
823 </PRE>
824 <P><LI>Copy the AFS kernel module to the local <B>/usr/conf/lib</B>
825 directory. 
826 <P>If the machine's kernel supports NFS server functionality:
827 <PRE>   
828    # <B>cp bin/libafs.a /usr/conf/lib</B>   
829 </PRE>
830 <P>If the machine's kernel does not support NFS server functionality,
831 change the file's name as you copy it:
832 <PRE>   
833    # <B>cp bin/libafs.nonfs.a /usr/conf/lib/libafs.a</B>
834    
835 </PRE>
836 <P><LI>Incorporate the AFS driver into the kernel, either using the
837 <B>SAM</B> program or a series of individual commands. 
838 <UL>
839 <P><LI>To use the <B>SAM</B> program: 
840 <OL TYPE=a>
841 <P><LI>Invoke the <B>SAM</B> program, specifying the hostname of the local
842 machine as <VAR>local_hostname</VAR>. The <B>SAM</B> graphical user
843 interface pops up. 
844 <PRE>   
845    # <B>sam -display</B> <VAR>local_hostname</VAR><B>:0</B> 
846    
847 </PRE>
848 <P><LI>Choose the <B>Kernel Configuration</B> icon, then the
849 <B>Drivers</B> icon. From the list of drivers, select
850 <B>afs</B>.
851 <P><LI>Open the pull-down <B>Actions</B> menu and choose the <B>Add Driver
852 to Kernel</B> option.
853 <P><LI>Open the <B>Actions</B> menu again and choose the <B>Create a New
854 Kernel</B> option.
855 <P><LI>Confirm your choices by choosing <B>Yes</B> and <B>OK</B> when
856 prompted by subsequent pop-up windows. The <B>SAM</B> program
857 builds the kernel and reboots the system.
858 <P><LI>Login again as the superuser <B>root</B>.
859 <PRE>   
860    login: <B>root</B>
861    Password: <VAR>root_password</VAR>
862    
863 </PRE>
864 </OL>
865 <P><LI>To use individual commands: 
866 <OL TYPE=a>
867 <P><LI>Edit the file <B>/stand/system</B>, adding an entry for <B>afs</B>
868 to the <TT>Subsystems</TT> section.
869 <P><LI>Change to the <B>/stand/build</B> directory and issue the
870 <B>mk_kernel</B> command to build the kernel. 
871 <PRE>   
872    # <B>cd /stand/build</B>
873       
874    # <B>mk_kernel</B>
875    
876 </PRE>
877 <P><LI>Move the new kernel to the standard location (<B>/stand/vmunix</B>),
878 reboot the machine to start using it, and login again as the superuser
879 <B>root</B>.
880 <PRE>   
881    # <B>mv /stand/build/vmunix_test /stand/vmunix</B>
882       
883    # <B>cd /</B>
884       
885    # <B>shutdown -r now</B>             
886    
887    login: <B>root</B>
888    Password: <VAR>root_password</VAR>
889    
890 </PRE>
891 </OL>
892 </UL>
893 </OL>
894 <A NAME="IDX2288"></A>
895 <A NAME="IDX2289"></A>
896 <A NAME="IDX2290"></A>
897 <A NAME="IDX2291"></A>
898 <P><H3><A NAME="HDRWQ33" HREF="auqbg002.htm#ToC_46">Configuring Server Partitions on HP-UX Systems</A></H3>
899 <P>Every AFS file server machine must have at least one
900 partition or logical volume dedicated to storing AFS volumes. Each
901 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
902 where <VAR>xx</VAR> is one or two lowercase letters. The
903 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
904 machine's root directory, not in one of its subdirectories (for example,
905 <B>/usr/vicepa</B> is not an acceptable directory location). For
906 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
907 <OL TYPE=1>
908 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
909 partition you are configuring (there must be at least one). Repeat the
910 command for each partition.
911 <PRE>   
912    # <B>mkdir /vicep</B><VAR>xx</VAR>
913    
914 </PRE>
915 <P><LI>Use the <B>SAM</B> program to create a file system on each
916 partition. For instructions, consult the HP-UX documentation.
917 <P><LI>On some HP-UX systems that use logical volumes, the <B>SAM</B> program
918 automatically mounts the partitions. If it has not, mount each
919 partition by issuing either the <B>mount -a</B> command to mount all
920 partitions at once or the <B>mount</B> command to mount each partition in
921 turn.
922 </OL>
923 <A NAME="IDX2292"></A>
924 <A NAME="IDX2293"></A>
925 <A NAME="IDX2294"></A>
926 <A NAME="IDX2295"></A>
927 <P><H3><A NAME="HDRWQ34" HREF="auqbg002.htm#ToC_47">Configuring the AFS-modified fsck Program on HP-UX Systems</A></H3>
928 <P>In this section, you make modifications to guarantee that the
929 appropriate <B>fsck</B> program runs on AFS server partitions. The
930 <B>fsck</B> program provided with the operating system must never run on
931 AFS server partitions. Because it does not recognize the structures
932 that the File Server uses to organize volume data, it removes all of the
933 data. To repeat:
934 <P><B>Never run the standard fsck program on AFS server partitions.
935 It discards AFS volumes.</B>
936 <P>On HP-UX systems, there are several configuration files to install in
937 addition to the AFS-modified <B>fsck</B> program (the <B>vfsck</B>
938 binary).
939 <OL TYPE=1>
940 <P><LI>Create the command configuration file
941 <B>/sbin/lib/mfsconfig.d/afs</B>. Use a text editor to place
942 the indicated two lines in it: 
943 <PRE>   
944    format_revision 1
945    fsck            0        m,P,p,d,f,b:c:y,n,Y,N,q,
946    
947 </PRE>
948 <P><LI>Create and change directory to an AFS-specific command directory called
949 <B>/sbin/fs/afs</B>. 
950 <PRE>   
951    # <B>mkdir /sbin/fs/afs</B>
952    
953    # <B>cd  /sbin/fs/afs</B>
954    
955 </PRE>
956 <P><LI>Copy the AFS-modified version of the <B>fsck</B> program (the
957 <B>vfsck</B> binary) and related files from the distribution directory to
958 the new AFS-specific command directory. 
959 <PRE>   
960    # <B>cp -p /cdrom/hp_ux110/root.server/etc/*  .</B>
961           
962 </PRE>
963 <P><LI>Change the <B>vfsck</B> binary's name to <B>fsck</B> and set
964 the mode bits appropriately on all of the files in the <B>/sbin/fs/afs</B>
965 directory.
966 <PRE>      
967    # <B>mv  vfsck  fsck</B>
968    
969    # <B>chmod  755  *</B>
970    
971 </PRE>
972 <P><LI>Edit the <B>/etc/fstab</B> file, changing the file system type for
973 each AFS server partition from <TT>hfs</TT> to <TT>afs</TT>. This
974 ensures that the AFS-modified <B>fsck</B> program runs on the appropriate
975 partitions. 
976 <P>The sixth line in the following example of an edited file shows an AFS
977 server partition, <B>/vicepa</B>. 
978 <PRE>   
979    /dev/vg00/lvol1 / hfs defaults 0 1
980    /dev/vg00/lvol4 /opt hfs defaults 0 2
981    /dev/vg00/lvol5 /tmp hfs defaults 0 2
982    /dev/vg00/lvol6 /usr hfs defaults 0 2
983    /dev/vg00/lvol8 /var hfs defaults 0 2
984    /dev/vg00/lvol9 /vicepa afs defaults 0 2
985    /dev/vg00/lvol7 /usr/vice/cache hfs defaults 0 2
986    
987 </PRE>
988 <P><LI>If you plan to retain client functionality on this machine after
989 completing the installation, proceed to <A HREF="#HDRWQ35">Enabling AFS Login on HP-UX Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
990 </OL>
991 <A NAME="IDX2296"></A>
992 <A NAME="IDX2297"></A>
993 <A NAME="IDX2298"></A>
994 <A NAME="IDX2299"></A>
995 <A NAME="IDX2300"></A>
996 <A NAME="IDX2301"></A>
997 <P><H3><A NAME="HDRWQ35" HREF="auqbg002.htm#ToC_48">Enabling AFS Login on HP-UX Systems</A></H3>
998 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
999 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1000 </TD></TR></TABLE>
1001 <P>At this point you incorporate AFS into the operating system's
1002 Pluggable Authentication Module (PAM) scheme. PAM integrates all
1003 authentication mechanisms on the machine, including login, to provide the
1004 security infrastructure for authenticated access to and from the
1005 machine.
1006 <P>Explaining PAM is beyond the scope of this document. It is assumed
1007 that you understand the syntax and meanings of settings in the PAM
1008 configuration file (for example, how the <TT>other</TT> entry works, the
1009 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
1010 <TT>sufficient</TT>, and so on).
1011 <P>The following instructions explain how to alter the entries in the PAM
1012 configuration file for each service for which you wish to use AFS
1013 authentication. Other configurations possibly also work, but the
1014 instructions specify the recommended and tested configuration.
1015 <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
1016 <TT>optional</TT>. However, marking some modules as optional can mean
1017 that they grant access to the corresponding service even when the user does
1018 not meet all of the module's requirements. In some operating
1019 system revisions, for example, if you mark as optional the module that
1020 controls login via a dial-up connection, it allows users to login without
1021 providing a password. See the <I>IBM AFS Release Notes</I> for a
1022 discussion of any limitations that apply to this operating system. 
1023 <P>Also, with some operating system versions you must install patches for PAM
1024 to interact correctly with certain authentication programs. For
1025 details, see the <I>IBM AFS Release Notes</I>.
1026 </TD></TR></TABLE>
1027 <P>The recommended AFS-related entries in the PAM configuration file make use
1028 of one or more of the following three attributes.
1029 <DL>
1030 <P><DT><B><TT>try_first_pass</TT>
1031 </B><DD>This is a standard PAM attribute that can be included on entries after the
1032 first one for a service; it directs the module to use the password that
1033 was provided to the first module. For the AFS module, it means that AFS
1034 authentication succeeds if the password provided to the module listed first is
1035 the user's correct AFS password. For further discussion of this
1036 attribute and its alternatives, see the operating system's PAM
1037 documentation.
1038 <P><DT><B><TT>ignore_root</TT>
1039 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
1040 only the local superuser <B> root</B>, but also any user with UID 0
1041 (zero).
1042 <P><DT><B><TT>setenv_password_expires</TT>
1043 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
1044 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
1045 password, which is recorded in the Authentication Database.
1046 </DL>
1047 <P>Perform the following steps to enable AFS login.
1048 <OL TYPE=1>
1049 <P><LI>Mount the AFS CD-ROM for HP-UX on the <B>/cdrom</B> directory, if it
1050 is not already. Then change directory as indicated.
1051 <PRE>  
1052    # <B>cd /usr/lib/security</B>
1053    
1054 </PRE>
1055 <P><LI>Copy the AFS authentication library file to the
1056 <B>/usr/lib/security</B> directory. Then create a symbolic link to
1057 it whose name does not mention the version. Omitting the version
1058 eliminates the need to edit the PAM configuration file if you later update the
1059 library file. 
1060 <P>If you use the AFS Authentication Server (<B>kaserver</B> process) in
1061 the cell: 
1062 <PRE>   
1063    # <B>cp /cdrom/hp_ux110/lib/pam_afs.so.1  .</B>
1064   
1065    # <B>ln -s  pam_afs.so.1  pam_afs.so</B>   
1066 </PRE> 
1067 <P>If you use a Kerberos implementation of AFS authentication: 
1068 <PRE>  
1069    #<B> cp /cdrom/hp_ux110/lib/pam_afs.krb.so.1   .</B>
1070   
1071    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
1072    
1073 </PRE>
1074 <P><LI>Edit the <TT>Authentication management</TT> section of the HP-UX PAM
1075 configuration file, <B>/etc/pam.conf</B> by convention. The
1076 entries in this section have the value <TT>auth</TT> in their second
1077 field. 
1078 <P>First edit the standard entries, which refer to the HP-UX PAM module
1079 (usually, the file <B>/usr/lib/security/libpam_unix.1</B>) in their
1080 fourth field. For each service for which you want to use AFS
1081 authentication, edit the third field of its entry to read
1082 <TT>optional</TT>. The <B>pam.conf</B> file in the HP-UX
1083 distribution usually includes standard entries for the <B>login</B> and
1084 <B>ftp</B> services, for instance. 
1085 <P>If there are services for which you want to use AFS authentication, but for
1086 which the <B>pam.conf</B> file does not already include a standard
1087 entry, you must create that entry and place the value <TT>optional</TT> in
1088 its third field. For instance, the HP-UX <B>pam.conf</B>
1089 file does not usually include standard entries for the <B>remsh</B> or
1090 <B>telnet</B> services. 
1091 <P>Then create an AFS-related entry for each service, placing it immediately
1092 below the standard entry. The following example shows what the
1093 <TT>Authentication Management</TT> section looks like after you have you
1094 edited or created entries for the services mentioned previously. Note
1095 that the example AFS entries appear on two lines only for legibility. 
1096 <PRE>   
1097    login   auth  optional  /usr/lib/security/libpam_unix.1
1098    login   auth  optional  /usr/lib/security/pam_afs.so      \
1099          try_first_pass  ignore_root  setenv_password_expires
1100    ftp     auth  optional  /usr/lib/security/libpam_unix.1
1101    ftp     auth  optional  /usr/lib/security/pam_afs.so      \
1102          try_first_pass  ignore_root
1103    remsh   auth  optional  /usr/lib/security/libpam_unix.1
1104    remsh   auth  optional  /usr/lib/security/pam_afs.so      \
1105          try_first_pass  ignore_root            
1106    telnet  auth  optional  /usr/lib/security/libpam_unix.1
1107    telnet  auth  optional  /usr/lib/security/pam_afs.so      \
1108          try_first_pass  ignore_root  setenv_password_expires
1109    
1110 </PRE>
1111 <P><LI>If you use the Common Desktop Environment (CDE) on the machine and want
1112 users to obtain an AFS token as they log in, also add or edit the following
1113 four entries in the <TT>Authentication management</TT> section. Note
1114 that the AFS-related entries appear on two lines here only for
1115 legibility. 
1116 <PRE>  
1117    dtlogin   auth  optional  /usr/lib/security/libpam_unix.1
1118    dtlogin   auth  optional  /usr/lib/security/pam_afs.so     \
1119          try_first_pass  ignore_root
1120    dtaction  auth  optional  /usr/lib/security/libpam_unix.1
1121    dtaction  auth  optional  /usr/lib/security/pam_afs.so     \
1122          try_first_pass  ignore_root
1123    
1124 </PRE>
1125 <P><LI>Proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A> (or if referring to these instructions while installing an
1126 additional file server machine, return to <A HREF="auqbg006.htm#HDRWQ108">Starting Server Programs</A>).
1127 </OL>
1128 <HR><H2><A NAME="HDRWQ36" HREF="auqbg002.htm#ToC_49">Getting Started on IRIX Systems</A></H2>
1129 <A NAME="IDX2302"></A>
1130 <A NAME="IDX2303"></A>
1131 <A NAME="IDX2304"></A>
1132 <A NAME="IDX2305"></A>
1133 <A NAME="IDX2306"></A>
1134 <A NAME="IDX2307"></A>
1135 <A NAME="IDX2308"></A>
1136 <P>To incorporate AFS into the kernel on IRIX systems, choose one of two
1137 methods:
1138 <UL>
1139 <P><LI>Run the AFS initialization script to invoke the <B>ml</B> program
1140 distributed by Silicon Graphics, Incorporated (SGI), which dynamically loads
1141 AFS modifications into the kernel
1142 <P><LI>Build a new static kernel
1143 </UL>
1144 <P>Then create partitions for storing AFS volumes. You do not need to
1145 replace the IRIX <B>fsck</B> program because SGI has already modified it
1146 to handle AFS volumes properly. If the machine is to remain an AFS
1147 client machine, verify that the IRIX login utility installed on the machine
1148 grants an AFS token.
1149 <P>In preparation for either dynamic loading or kernel building, perform the
1150 following procedures:
1151 <OL TYPE=1>
1152 <P><LI>Mount the AFS CD-ROM for IRIX on the <B>/cdrom</B> directory.
1153 For instructions on mounting CD-ROMs (either locally or remotely via NFS), see
1154 your IRIX documentation. Then change directory as indicated.
1155 <PRE>   
1156    # <B>cd  /cdrom/sgi_65/root.client</B>
1157    
1158 </PRE>
1159 <P><LI>Copy the AFS initialization script to the local directory for
1160 initialization files (by convention, <B>/etc/init.d</B> on IRIX
1161 machines). Note the removal of the <B>.rc</B> extension as
1162 you copy the script.
1163 <PRE>   
1164    # <B>cp -p   usr/vice/etc/afs.rc  /etc/init.d/afs</B>
1165    
1166 </PRE>
1167 <P><LI>Issue the <B>uname -m</B> command to determine the machine's CPU
1168 board type. The <B>IP</B><VAR>xx</VAR> value in the output must match
1169 one of the supported CPU board types listed in the <I>IBM AFS Release
1170 Notes</I> for the current version of AFS.
1171 <PRE>   
1172    # <B>uname -m</B>
1173     
1174 </PRE>
1175 <P><LI>Proceed to either <A HREF="#HDRWQ37">Loading AFS into the IRIX Kernel</A> or <A HREF="#HDRWQ38">Building AFS into the IRIX Kernel</A>.
1176 </OL>
1177 <A NAME="IDX2309"></A>
1178 <A NAME="IDX2310"></A>
1179 <A NAME="IDX2311"></A>
1180 <A NAME="IDX2312"></A>
1181 <A NAME="IDX2313"></A>
1182 <A NAME="IDX2314"></A>
1183 <A NAME="IDX2315"></A>
1184 <P><H3><A NAME="HDRWQ37" HREF="auqbg002.htm#ToC_50">Loading AFS into the IRIX Kernel</A></H3>
1185 <P>The <B>ml</B> program is the dynamic kernel loader
1186 provided by SGI for IRIX systems. If you use it rather than building
1187 AFS modifications into a static kernel, then for AFS to function correctly the
1188 <B>ml</B> program must run each time the machine reboots.
1189 Therefore, the AFS initialization script (included on the AFS CD-ROM) invokes
1190 it automatically when the <B>afsml</B> configuration variable is
1191 activated. In this section you activate the variable and run the
1192 script.
1193 <P>In later sections you verify that the script correctly initializes all AFS
1194 components, then create the links that incorporate AFS into the IRIX startup
1195 and shutdown sequence.
1196 <OL TYPE=1>
1197 <P><LI>Create the local <B>/usr/vice/etc/sgiload</B> directory to house the
1198 AFS kernel library file.
1199 <PRE>   
1200    # <B>mkdir /usr/vice/etc/sgiload</B>
1201    
1202 </PRE>
1203 <P><LI>Copy the appropriate AFS kernel library file to the
1204 <B>/usr/vice/etc/sgiload</B> directory. The
1205 <B>IP</B><VAR>xx</VAR> portion of the library file name must match the value
1206 previously returned by the <B>uname -m</B> command. Also choose the
1207 file appropriate to whether the machine's kernel supports NFS server
1208 functionality (NFS must be supported for the machine to act as an NFS/AFS
1209 Translator). Single- and multiprocessor machines use the same library
1210 file. 
1211 <P>(You can choose to copy all of the kernel library files into the <B>
1212 /usr/vice/etc/sgiload</B> directory, but they require a significant amount
1213 of space.) 
1214 <P>If the machine's kernel supports NFS server functionality:
1215 <PRE>   
1216    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.o  /usr/vice/etc/sgiload</B>   
1217 </PRE> 
1218 <P>If the machine's kernel does not support NFS server
1219 functionality:
1220 <PRE>   
1221    # <B>cp -p  usr/vice/etc/sgiload/libafs.IP</B><VAR>xx</VAR><B>.nonfs.o</B>   \
1222                    <B>/usr/vice/etc/sgiload</B>
1223    
1224 </PRE>
1225 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afsml</B>
1226 configuration variable. 
1227 <PRE>   
1228    # <B>/etc/chkconfig -f afsml on</B>   
1229 </PRE> 
1230 <P>If the machine is to function as an NFS/AFS Translator and the kernel
1231 supports NFS server functionality, activate the <B>afsxnfs</B>
1232 variable.
1233 <PRE>   
1234    # <B>/etc/chkconfig -f afsxnfs on</B>
1235    
1236 </PRE>
1237 <P><LI>Run the <B>/etc/init.d/afs</B> script to load AFS extensions
1238 into the kernel. The script invokes the <B>ml</B> command,
1239 automatically determining which kernel library file to use based on this
1240 machine's CPU type and the activation state of the <B>afsxnfs</B>
1241 variable. 
1242 <P>You can ignore any error messages about the inability to start the BOS
1243 Server or the Cache Manager or AFS client.
1244 <PRE>   
1245    # <B>/etc/init.d/afs start</B>
1246    
1247 </PRE>
1248 <P><LI>Proceed to <A HREF="#HDRWQ39">Configuring Server Partitions on IRIX Systems</A>.
1249 </OL>
1250 <A NAME="IDX2316"></A>
1251 <P><H3><A NAME="HDRWQ38" HREF="auqbg002.htm#ToC_51">Building AFS into the IRIX Kernel</A></H3>
1252 <P>Use the following instructions to build AFS modifications
1253 into the kernel on an IRIX system.
1254 <OL TYPE=1>
1255 <P><LI>Copy the kernel initialization file <B>afs.sm</B> to the local
1256 <B>/var/sysgen/system</B> directory, and the kernel master file
1257 <B>afs</B> to the local <B>/var/sysgen/master.d</B>
1258 directory.
1259 <PRE>   
1260    # <B>cp -p  bin/afs.sm  /var/sysgen/system</B>
1261    
1262    # <B>cp -p  bin/afs  /var/sysgen/master.d</B>
1263    
1264 </PRE>
1265 <P><LI>Copy the appropriate AFS kernel library file to the local file
1266 <B>/var/sysgen/boot/afs.a</B>; the <B>IP</B><VAR>xx</VAR>
1267 portion of the library file name must match the value previously returned by
1268 the <B>uname -m</B> command. Also choose the file appropriate to
1269 whether the machine's kernel supports NFS server functionality (NFS must
1270 be supported for the machine to act as an NFS/AFS Translator). Single-
1271 and multiprocessor machines use the same library file. 
1272 <P>If the machine's kernel supports NFS server functionality:
1273 <PRE>   
1274    # <B>cp -p   bin/libafs.IP</B><VAR>xx</VAR><B>.a   /var/sysgen/boot/afs.a</B>   
1275 </PRE> 
1276 <P>If the machine's kernel does not support NFS server
1277 functionality:
1278 <PRE>   
1279    # <B>cp -p  bin/libafs.IP</B><VAR>xx</VAR><B>.nonfs.a  /var/sysgen/boot/afs.a</B>
1280    
1281 </PRE>
1282 <P><LI>Issue the <B>chkconfig</B> command to deactivate the <B>afsml</B>
1283 configuration variable. 
1284 <PRE>   
1285    # <B>/etc/chkconfig -f afsml off</B>   
1286 </PRE> 
1287 <P>If the machine is to function as an NFS/AFS Translator and the kernel
1288 supports NFS server functionality, activate the <B>afsxnfs</B>
1289 variable. 
1290 <PRE>    
1291    # <B>/etc/chkconfig -f afsxnfs on</B>
1292    
1293 </PRE>
1294 <P><LI>Copy the existing kernel file, <B>/unix</B>, to a safe
1295 location. Compile the new kernel, which is created in the file
1296 <B>/unix.install</B>. It overwrites the existing
1297 <B>/unix</B> file when the machine reboots in the next step. 
1298 <PRE>   
1299    # <B>cp /unix /unix_noafs</B>
1300    
1301    # <B>autoconfig</B>
1302    
1303 </PRE>
1304 <P><LI>Reboot the machine to start using the new kernel, and login again as the
1305 superuser <B>root</B>. 
1306 <PRE>   
1307    # <B>cd /</B>
1308          
1309    # <B>shutdown -i6 -g0 -y</B>
1310    
1311    login: <B>root</B>
1312    Password: <VAR>root_password</VAR>
1313    
1314 </PRE>
1315 </OL>
1316 <A NAME="IDX2317"></A>
1317 <A NAME="IDX2318"></A>
1318 <A NAME="IDX2319"></A>
1319 <A NAME="IDX2320"></A>
1320 <P><H3><A NAME="HDRWQ39" HREF="auqbg002.htm#ToC_52">Configuring Server Partitions on IRIX Systems</A></H3>
1321 <P>Every AFS file server machine must have at least one
1322 partition or logical volume dedicated to storing AFS volumes. Each
1323 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
1324 where <VAR>xx</VAR> is one or two lowercase letters. The
1325 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
1326 machine's root directory, not in one of its subdirectories (for example,
1327 <B>/usr/vicepa</B> is not an acceptable directory location). For
1328 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
1329 <P>AFS supports use of both EFS and XFS partitions for housing AFS
1330 volumes. SGI encourages use of XFS partitions.
1331 <OL TYPE=1>
1332 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
1333 partition you are configuring (there must be at least one). Repeat the
1334 command for each partition.
1335 <PRE>   
1336    # <B>mkdir /vicep</B><VAR>xx</VAR>
1337    
1338 </PRE>
1339 <P><LI>Add a line with the following format to the file systems registry file,
1340 <B>/etc/fstab</B>, for each partition (or logical volume created with the
1341 XLV volume manager) to be mounted on one of the directories created in the
1342 previous step. 
1343 <P>For an XFS partition or logical volume:
1344 <PRE>   
1345    /dev/dsk/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  xfs  rw,raw=/dev/rdsk/<VAR>disk</VAR>  0  0   
1346 </PRE> 
1347 <P>For an EFS partition:
1348 <PRE>   
1349    /dev/dsk/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  efs  rw,raw=/dev/rdsk/<VAR>disk</VAR>  0  0   
1350 </PRE> 
1351 <P>The following are examples of an entry for each file system type:
1352 <PRE>   
1353    /dev/dsk/dks0d2s6 /vicepa  xfs rw,raw=/dev/rdsk/dks0d2s6  0 0
1354    /dev/dsk/dks0d3s1 /vicepb  efs rw,raw=/dev/rdsk/dks0d3s1  0 0
1355    
1356 </PRE>
1357 <P><LI>Create a file system on each partition that is to be mounted on a
1358 <B>/vicep</B><VAR>xx</VAR> directory. The following commands are
1359 probably appropriate, but consult the IRIX documentation for more
1360 information. In both cases, <VAR>raw_device</VAR> is a raw device name
1361 like <B>/dev/rdsk/dks0d0s0</B> for a single disk partition or
1362 <B>/dev/rxlv/xlv0</B> for a logical volume. 
1363 <P>For XFS file systems, include the indicated options to configure the
1364 partition or logical volume with inodes large enough to accommodate
1365 AFS-specific information:
1366 <PRE>   
1367    # <B>mkfs -t xfs -i size=512 -l size=4000b</B> <VAR>raw_device</VAR>   
1368 </PRE> 
1369 <P>For EFS file systems: 
1370 <PRE>   
1371    # <B>mkfs -t efs</B> <VAR>raw_device</VAR>
1372    
1373 </PRE>
1374 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
1375 mount all partitions at once or the <B>mount</B> command to mount each
1376 partition in turn.
1377 <P><LI><B>(Optional)</B> If you have configured partitions or logical volumes
1378 to use XFS, issue the following command to verify that the inodes are
1379 configured properly (are large enough to accommodate AFS-specific
1380 information). If the configuration is correct, the command returns no
1381 output. Otherwise, it specifies the command to run in order to
1382 configure each partition or logical volume properly. 
1383 <PRE>   
1384    # <B>/usr/afs/bin/xfs_size_check</B>
1385    
1386 </PRE>
1387 <P><LI>If you plan to retain client functionality on this machine after
1388 completing the installation, proceed to <A HREF="#HDRWQ40">Enabling AFS Login on IRIX Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1389 </OL>
1390 <A NAME="IDX2321"></A>
1391 <A NAME="IDX2322"></A>
1392 <A NAME="IDX2323"></A>
1393 <A NAME="IDX2324"></A>
1394 <P><H3><A NAME="HDRWQ40" HREF="auqbg002.htm#ToC_53">Enabling AFS Login on IRIX Systems</A></H3>
1395 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
1396 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1397 </TD></TR></TABLE>
1398 <P>The standard IRIX command-line <B>login</B> program and the graphical
1399 <B>xdm</B> login program both automatically grant an AFS token when AFS is
1400 incorporated into the machine's kernel. However, some IRIX
1401 distributions use another login utility by default, and it does not
1402 necessarily incorporate the required AFS modifications. If that is the
1403 case, you must disable the default utility if you want AFS users to obtain AFS
1404 tokens at login. For further discussion, see the <I>IBM AFS Release
1405 Notes</I>.
1406 <P>If you configure the machine to use an AFS-modified login utility, then the
1407 <B>afsauthlib.so</B> and <B>afskauthlib.so</B> files
1408 (included in the AFS distribution) must reside in the <B>/usr/vice/etc</B>
1409 directory. Issue the <B>ls</B> command to verify.
1410 <PRE>  
1411    # <B>ls /usr/vice/etc</B>   
1412 </PRE>
1413 <P>If the files do not exist, mount the AFS CD-ROM for IRIX (if it is not
1414 already), change directory as indicated, and copy them.
1415 <PRE>  
1416    # <B>cd /cdrom/sgi_65/root.client/usr/vice/etc</B>
1417    
1418    # <B>cp  -p  *authlib*  /usr/vice/etc</B>   
1419 </PRE>
1420 <P>After taking any necessary action, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1421 <HR><H2><A NAME="HDRWQ41" HREF="auqbg002.htm#ToC_54">Getting Started on Linux Systems</A></H2>
1422 <A NAME="IDX2325"></A>
1423 <A NAME="IDX2326"></A>
1424 <A NAME="IDX2327"></A>
1425 <A NAME="IDX2328"></A>
1426 <P>Begin by running the AFS initialization script to call the
1427 <B>insmod</B> program, which dynamically loads AFS modifications into the
1428 kernel. Then create partitions for storing AFS volumes. You do
1429 not need to replace the Linux <B>fsck</B> program. If the machine
1430 is to remain an AFS client machine, incorporate AFS into the machine's
1431 Pluggable Authentication Module (PAM) scheme.
1432 <A NAME="IDX2329"></A>
1433 <A NAME="IDX2330"></A>
1434 <A NAME="IDX2331"></A>
1435 <A NAME="IDX2332"></A>
1436 <P><H3><A NAME="HDRWQ42" HREF="auqbg002.htm#ToC_55">Loading AFS into the Linux Kernel</A></H3>
1437 <P>The <B>insmod</B> program is the dynamic kernel loader
1438 for Linux. Linux does not support incorporation of AFS modifications
1439 during a kernel build.
1440 <P>For AFS to function correctly, the <B>insmod</B> program must run each
1441 time the machine reboots, so the AFS initialization script (included on the
1442 AFS CD-ROM) invokes it automatically. The script also includes commands
1443 that select the appropriate AFS library file automatically. In this
1444 section you run the script.
1445 <P>In later sections you verify that the script correctly initializes all AFS
1446 components, then activate a configuration variable, which results in the
1447 script being incorporated into the Linux startup and shutdown sequence.
1448 <OL TYPE=1>
1449 <P><LI>Mount the AFS CD-ROM for Linux on the local <B>/cdrom</B>
1450 directory. For instructions on mounting CD-ROMs (either locally or
1451 remotely via NFS), see your Linux documentation. Then change directory
1452 as indicated. 
1453 <PRE>   
1454    # <B>cd  /cdrom/i386_linux22/root.client/usr/vice/etc</B>
1455    
1456 </PRE>
1457 <P><LI>Copy the AFS kernel library files to the local
1458 <B>/usr/vice/etc/modload</B> directory. The filenames for the
1459 libraries have the format
1460 <B>libafs-</B><VAR>version</VAR><B>.o</B>, where <VAR>version</VAR>
1461 indicates the kernel build level. The string <B>.mp</B> in
1462 the <VAR>version</VAR> indicates that the file is appropriate for machines
1463 running a multiprocessor kernel. 
1464 <PRE>   
1465    # <B>cp -rp  modload  /usr/vice/etc</B>
1466    
1467 </PRE>
1468 <P><LI>Copy the AFS initialization script to the local directory for
1469 initialization files (by convention, <B>/etc/rc.d/init.d</B>
1470 on Linux machines). Note the removal of the <B>.rc</B>
1471 extension as you copy the script.
1472 <PRE>   
1473    # <B>cp -p   afs.rc  /etc/rc.d/init.d/afs</B> 
1474     
1475 </PRE>
1476 <P><LI>Run the AFS initialization script to load AFS extensions into the
1477 kernel. You can ignore any error messages about the inability to start
1478 the BOS Server or the Cache Manager or AFS client.
1479 <PRE>   
1480    # <B>/etc/rc.d/init.d/afs  start</B>
1481    
1482 </PRE>
1483 </OL>
1484 <A NAME="IDX2333"></A>
1485 <A NAME="IDX2334"></A>
1486 <A NAME="IDX2335"></A>
1487 <A NAME="IDX2336"></A>
1488 <P><H3><A NAME="HDRWQ43" HREF="auqbg002.htm#ToC_56">Configuring Server Partitions on Linux Systems</A></H3>
1489 <P>Every AFS file server machine must have at least one
1490 partition or logical volume dedicated to storing AFS volumes. Each
1491 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
1492 where <VAR>xx</VAR> is one or two lowercase letters. The
1493 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
1494 machine's root directory, not in one of its subdirectories (for example,
1495 <B>/usr/vicepa</B> is not an acceptable directory location). For
1496 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
1497 <OL TYPE=1>
1498 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
1499 partition you are configuring (there must be at least one). Repeat the
1500 command for each partition.
1501 <PRE>   
1502    # <B>mkdir /vicep</B><VAR>xx</VAR>
1503    
1504 </PRE>
1505 <P><LI>Add a line with the following format to the file systems registry file,
1506 <B>/etc/fstab</B>, for each directory just created. The entry maps
1507 the directory name to the disk partition to be mounted on it.
1508 <PRE>   
1509    /dev/<VAR>disk</VAR>  /vicep<VAR>xx</VAR>  ext2  defaults  0  2   
1510 </PRE> 
1511 <P>The following is an example for the first partition being
1512 configured. 
1513 <PRE>   
1514    /dev/sda8 /vicepa ext2 defaults 0 2
1515    
1516 </PRE>
1517 <P><LI>Create a file system on each partition that is to be mounted at a
1518 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
1519 probably appropriate, but consult the Linux documentation for more
1520 information. 
1521 <PRE>   
1522    #<B> mkfs -v /dev/</B><VAR>disk</VAR>
1523    
1524 </PRE>
1525 <P><LI>Mount each partition by issuing either the <B>mount -a</B> command to
1526 mount all partitions at once or the <B>mount</B> command to mount each
1527 partition in turn.
1528 <P><LI>If you plan to retain client functionality on this machine after
1529 completing the installation, proceed to <A HREF="#HDRWQ44">Enabling AFS Login on Linux Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1530 </OL>
1531 <A NAME="IDX2337"></A>
1532 <A NAME="IDX2338"></A>
1533 <A NAME="IDX2339"></A>
1534 <A NAME="IDX2340"></A>
1535 <A NAME="IDX2341"></A>
1536 <P><H3><A NAME="HDRWQ44" HREF="auqbg002.htm#ToC_57">Enabling AFS Login on Linux Systems</A></H3>
1537 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
1538 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1539 </TD></TR></TABLE>
1540 <P>At this point you incorporate AFS into the operating system's
1541 Pluggable Authentication Module (PAM) scheme. PAM integrates all
1542 authentication mechanisms on the machine, including login, to provide the
1543 security infrastructure for authenticated access to and from the
1544 machine.
1545 <P>Explaining PAM is beyond the scope of this document. It is assumed
1546 that you understand the syntax and meanings of settings in the PAM
1547 configuration file (for example, how the <TT>other</TT> entry works, the
1548 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
1549 <TT>sufficient</TT>, and so on).
1550 <P>The following instructions explain how to alter the entries in the PAM
1551 configuration file for each service for which you wish to use AFS
1552 authentication. Other configurations possibly also work, but the
1553 instructions specify the recommended and tested configuration.
1554 <P>The recommended AFS-related entries in the PAM configuration file make use
1555 of one or more of the following three attributes.
1556 <DL>
1557 <P><DT><B><TT>try_first_pass</TT>
1558 </B><DD>This is a standard PAM attribute that can be included on entries after the
1559 first one for a service; it directs the module to use the password that
1560 was provided to the first module. For the AFS module, it means that AFS
1561 authentication succeeds if the password provided to the module listed first is
1562 the user's correct AFS password. For further discussion of this
1563 attribute and its alternatives, see the operating system's PAM
1564 documentation.
1565 <P><DT><B><TT>ignore_root</TT>
1566 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
1567 only the local superuser <B> root</B>, but also any user with UID 0
1568 (zero).
1569 <P><DT><B><TT>setenv_password_expires</TT>
1570 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
1571 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
1572 password, which is recorded in the Authentication Database.
1573 </DL>
1574 <P>Perform the following steps to enable AFS login.
1575 <OL TYPE=1>
1576 <P><LI>Mount the AFS CD-ROM for Linux on the <B>/cdrom</B> directory, if it
1577 is not already. Then change to the directory for PAM modules, which
1578 depends on which Linux distribution you are using. 
1579 <P>If you are using a Linux distribution from Red Hat Software:
1580 <PRE>   
1581    # <B>cd /lib/security</B>   
1582 </PRE> 
1583 <P>If you are using another Linux distribution:
1584 <PRE>   
1585    # <B>cd /usr/lib/security</B>
1586    
1587 </PRE>
1588 <P><LI>Copy the appropriate AFS authentication library file to the directory to
1589 which you changed in the previous step. Create a symbolic link whose
1590 name does not mention the version. Omitting the version eliminates the
1591 need to edit the PAM configuration file if you later update the library
1592 file. 
1593 <P>If you use the AFS Authentication Server (<B>kaserver</B>
1594 process):
1595 <PRE>   
1596    # <B>cp /cdrom/i386_linux22/lib/pam_afs.so.1  .</B>
1597    
1598    # <B>ln -s pam_afs.so.1 pam_afs.so</B>   
1599 </PRE> 
1600 <P>If you use a Kerberos implementation of AFS authentication:
1601 <PRE>   
1602    # <B>cp /cdrom/i386_linux22/lib/pam_afs.krb.so.1   .</B>
1603    
1604    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
1605    
1606 </PRE>
1607 <P><LI>For each service with which you want to use AFS authentication, insert an
1608 entry for the AFS PAM module into the <TT>auth</TT> section of the
1609 service's PAM configuration file. (Linux uses a separate
1610 configuration file for each service, unlike some other operating systems which
1611 list all services in a single file.) Mark the entry as
1612 <TT>sufficient</TT> in the second field. 
1613 <P>Place the AFS entry below any entries that impose conditions under which
1614 you want the service to fail for a user who does not meet the entry's
1615 requirements. Mark these entries <TT>required</TT>. Place the
1616 AFS entry above any entries that need to execute only if AFS authentication
1617 fails. 
1618 <P>Insert the following AFS entry if using the Red Hat distribution:
1619 <PRE>   
1620    auth  sufficient  /lib/security/pam_afs.so   try_first_pass  ignore_root   
1621 </PRE> 
1622 <P>Insert the following AFS entry if using another distribution:
1623 <PRE>   
1624    auth  sufficient  /usr/lib/security/pam_afs.so  try_first_pass  ignore_root   
1625 </PRE> 
1626 <P>The following example illustrates the recommended configuration of the
1627 configuration file for the <B>login</B> service
1628 (<B>/etc/pam.d/login</B>) on a machine using the Red Hat
1629 distribution.
1630 <PRE>   
1631    #%PAM-1.0
1632    auth      required   /lib/security/pam_securetty.so
1633    auth      required   /lib/security/pam_nologin.so
1634    auth      sufficient /lib/security/pam_afs.so try_first_pass ignore_root
1635    auth      required   /lib/security/pam_pwdb.so shadow nullok
1636    account   required   /lib/security/pam_pwdb.so
1637    password  required   /lib/security/pam_cracklib.so
1638    password  required   /lib/security/pam_pwdb.so shadow nullok use_authtok
1639    session   required   /lib/security/pam_pwdb.so
1640    
1641 </PRE>
1642 <P><LI>Proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A> (or if referring to these instructions while installing an
1643 additional file server machine, return to <A HREF="auqbg006.htm#HDRWQ108">Starting Server Programs</A>).
1644 </OL>
1645 <HR><H2><A NAME="HDRWQ45" HREF="auqbg002.htm#ToC_58">Getting Started on Solaris Systems</A></H2>
1646 <P>Begin by running the AFS initialization script to call the
1647 <B>modload</B> program distributed by Sun Microsystems, which dynamically
1648 loads AFS modifications into the kernel. Then create partitions for
1649 storing AFS volumes, and install and configure the AFS-modified
1650 <B>fsck</B> program to run on AFS server partitions. If the machine
1651 is to remain an AFS client machine, incorporate AFS into the machine's
1652 Pluggable Authentication Module (PAM) scheme.
1653 <A NAME="IDX2342"></A>
1654 <A NAME="IDX2343"></A>
1655 <A NAME="IDX2344"></A>
1656 <A NAME="IDX2345"></A>
1657 <P><H3><A NAME="HDRWQ46" HREF="auqbg002.htm#ToC_59">Loading AFS into the Solaris Kernel</A></H3>
1658 <P>The <B>modload</B> program is the dynamic kernel loader
1659 provided by Sun Microsystems for Solaris systems. Solaris does not
1660 support incorporation of AFS modifications during a kernel build.
1661 <P>For AFS to function correctly, the <B>modload</B> program must run each
1662 time the machine reboots, so the AFS initialization script (included on the
1663 AFS CD-ROM) invokes it automatically. In this section you copy the
1664 appropriate AFS library file to the location where the <B>modload</B>
1665 program accesses it and then run the script.
1666 <P>In later sections you verify that the script correctly initializes all AFS
1667 components, then create the links that incorporate AFS into the Solaris
1668 startup and shutdown sequence.
1669 <OL TYPE=1>
1670 <P><LI>Mount the AFS CD-ROM for Solaris on the <B>/cdrom</B>
1671 directory. For instructions on mounting CD-ROMs (either locally or
1672 remotely via NFS), see your Solaris documentation. Then change
1673 directory as indicated. 
1674 <PRE>   
1675    # <B>cd  /cdrom/sun4x_56/root.client/usr/vice/etc</B>
1676    
1677 </PRE>
1678 <P><LI>Copy the AFS initialization script to the local directory for
1679 initialization files (by convention, <B>/etc/init.d</B> on Solaris
1680 machines). Note the removal of the <B>.rc</B> extension as
1681 you copy the script. 
1682 <PRE>   
1683    # <B>cp -p  afs.rc  /etc/init.d/afs</B>
1684    
1685 </PRE>
1686 <P><LI>Copy the appropriate AFS kernel library file to the local file
1687 <B>/kernel/fs/afs</B>. 
1688 <P>If the machine is running Solaris 2.6 or the 32-bit version of
1689 Solaris 7, its kernel supports NFS server functionality, and the
1690 <B>nfsd</B> process is running:
1691 <PRE>   
1692    # <B>cp -p modload/libafs.o /kernel/fs/afs</B>   
1693 </PRE> 
1694 <P>If the machine is running Solaris 2.6 or the 32-bit version of
1695 Solaris 7, and its kernel does not support NFS server functionality or the
1696 <B>nfsd</B> process is not running:
1697 <PRE>   
1698    # <B>cp -p modload/libafs.nonfs.o /kernel/fs/afs</B>   
1699 </PRE> 
1700 <P>If the machine is running the 64-bit version of Solaris 7, its kernel
1701 supports NFS server functionality, and the <B>nfsd</B> process is
1702 running:
1703 <PRE>   
1704    # <B>cp -p modload/libafs64.o /kernel/fs/sparcv9/afs</B>   
1705 </PRE> 
1706 <P>If the machine is running the 64-bit version of Solaris 7, and its
1707 kernel does not support NFS server functionality or the <B>nfsd</B>
1708 process is not running:
1709 <PRE>   
1710    # <B>cp -p modload/libafs64.nonfs.o /kernel/fs/sparcv9/afs</B>
1711    
1712 </PRE>
1713 <P><LI>Run the AFS initialization script to load AFS modifications into the
1714 kernel. You can ignore any error messages about the inability to start
1715 the BOS Server or the Cache Manager or AFS client.
1716 <PRE>   
1717    # <B>/etc/init.d/afs start</B>   
1718 </PRE> 
1719 <P>When an entry called <TT>afs</TT> does not already exist in the local
1720 <B>/etc/name_to_sysnum</B> file, the script automatically creates it and
1721 reboots the machine to start using the new version of the file. If this
1722 happens, log in again as the superuser <B>root</B> after the reboot and
1723 run the initialization script again. This time the required entry
1724 exists in the <B>/etc/name_to_sysnum</B> file, and the <B>modload</B>
1725 program runs. 
1726 <PRE>   
1727    login: <B>root</B>
1728    Password: <VAR>root_password</VAR>
1729    
1730    # <B>/etc/init.d/afs start</B>
1731    
1732 </PRE>
1733 </OL>
1734 <A NAME="IDX2346"></A>
1735 <A NAME="IDX2347"></A>
1736 <A NAME="IDX2348"></A>
1737 <A NAME="IDX2349"></A>
1738 <P><H3><A NAME="HDRWQ47" HREF="auqbg002.htm#ToC_60">Configuring the AFS-modified fsck Program on Solaris Systems</A></H3>
1739 <P>In this section, you make modifications to guarantee that the
1740 appropriate <B>fsck</B> program runs on AFS server partitions. The
1741 <B>fsck</B> program provided with the operating system must never run on
1742 AFS server partitions. Because it does not recognize the structures
1743 that the File Server uses to organize volume data, it removes all of the
1744 data. To repeat:
1745 <P><B>Never run the standard fsck program on AFS server partitions.
1746 It discards AFS volumes.</B>
1747 <OL TYPE=1>
1748 <P><LI>Create the <B>/usr/lib/fs/afs</B> directory to house the AFS-modified
1749 <B>fsck</B> program and related files. 
1750 <PRE>  
1751    # <B>mkdir /usr/lib/fs/afs</B>
1752    
1753    # <B>cd /usr/lib/fs/afs</B>  
1754   
1755 </PRE>
1756 <P><LI>Copy the <B>vfsck</B> binary to the newly created directory, changing
1757 the name as you do so. 
1758 <PRE>   
1759    # <B>cp  /cdrom/sun4x_56/root.server/etc/vfsck  fsck</B>
1760   
1761 </PRE>
1762 <P><LI>Working in the <B>/usr/lib/fs/afs</B> directory, create the following
1763 links to Solaris libraries: 
1764 <PRE>  
1765    # <B>ln -s /usr/lib/fs/ufs/clri</B>  
1766    # <B>ln -s /usr/lib/fs/ufs/df</B>
1767    # <B>ln -s /usr/lib/fs/ufs/edquota</B>
1768    # <B>ln -s /usr/lib/fs/ufs/ff</B>
1769    # <B>ln -s /usr/lib/fs/ufs/fsdb</B>  
1770    # <B>ln -s /usr/lib/fs/ufs/fsirand</B>
1771    # <B>ln -s /usr/lib/fs/ufs/fstyp</B>
1772    # <B>ln -s /usr/lib/fs/ufs/labelit</B>
1773    # <B>ln -s /usr/lib/fs/ufs/lockfs</B>
1774    # <B>ln -s /usr/lib/fs/ufs/mkfs</B>  
1775    # <B>ln -s /usr/lib/fs/ufs/mount</B>
1776    # <B>ln -s /usr/lib/fs/ufs/ncheck</B>
1777    # <B>ln -s /usr/lib/fs/ufs/newfs</B>
1778    # <B>ln -s /usr/lib/fs/ufs/quot</B>
1779    # <B>ln -s /usr/lib/fs/ufs/quota</B>
1780    # <B>ln -s /usr/lib/fs/ufs/quotaoff</B>
1781    # <B>ln -s /usr/lib/fs/ufs/quotaon</B>
1782    # <B>ln -s /usr/lib/fs/ufs/repquota</B>
1783    # <B>ln -s /usr/lib/fs/ufs/tunefs</B>
1784    # <B>ln -s /usr/lib/fs/ufs/ufsdump</B>
1785    # <B>ln -s /usr/lib/fs/ufs/ufsrestore</B>
1786    # <B>ln -s /usr/lib/fs/ufs/volcopy</B>
1787    
1788 </PRE>
1789 <P><LI>Append the following line to the end of the file
1790 <B>/etc/dfs/fstypes</B>. 
1791 <PRE>  
1792    afs AFS Utilities
1793   
1794 </PRE>
1795 <P><LI>Edit the <B>/sbin/mountall</B> file, making two changes. 
1796 <UL>
1797 <P><LI>Add an entry for AFS to the <TT>case</TT> statement for option 2, so
1798 that it reads as follows:
1799 <PRE>  
1800    case "$2" in
1801    ufs)    foptions="-o p"
1802            ;;
1803    afs)    foptions="-o p"
1804            ;;
1805    s5)     foptions="-y -t /var/tmp/tmp$$ -D"
1806            ;;
1807    *)      foptions="-y"
1808            ;;
1809   
1810 </PRE>
1811 <P><LI>Edit the file so that all AFS and UFS partitions are checked in
1812 parallel. Replace the following section of code:
1813 <PRE>  
1814    # For  fsck purposes, we make a distinction between ufs and
1815    # other file systems
1816    #
1817    if [ "$fstype" = "ufs" ]; then
1818         ufs_fscklist="$ufs_fscklist $fsckdev"
1819         saveentry $fstype "$OPTIONS" $special $mountp
1820         continue
1821    fi  
1822 </PRE> 
1823 <P>with the following section of code:
1824 <PRE>  
1825    # For fsck purposes, we make a distinction between ufs/afs
1826    # and other file systems.
1827    #
1828    if [ "$fstype" = "ufs" -o "$fstype" = "afs" ]; then
1829         ufs_fscklist="$ufs_fscklist $fsckdev"
1830         saveentry $fstype "$OPTIONS" $special $mountp
1831         continue
1832    fi
1833   
1834 </PRE>
1835 </UL>
1836 </OL>
1837 <A NAME="IDX2350"></A>
1838 <A NAME="IDX2351"></A>
1839 <A NAME="IDX2352"></A>
1840 <A NAME="IDX2353"></A>
1841 <P><H3><A NAME="HDRWQ48" HREF="auqbg002.htm#ToC_61">Configuring Server Partitions on Solaris Systems</A></H3>
1842 <P>Every AFS file server machine must have at least one
1843 partition or logical volume dedicated to storing AFS volumes. Each
1844 server partition is mounted at a directory named <B>/vicep</B><VAR>xx</VAR>,
1845 where <VAR>xx</VAR> is one or two lowercase letters. The
1846 <B>/vicep</B><VAR>xx</VAR> directories must reside in the file server
1847 machine's root directory, not in one of its subdirectories (for example,
1848 <B>/usr/vicepa</B> is not an acceptable directory location). For
1849 additional information, see <A HREF="#HDRWQ20">Performing Platform-Specific Procedures</A>.
1850 <OL TYPE=1>
1851 <P><LI>Create a directory called <B>/vicep</B><VAR>xx</VAR> for each AFS server
1852 partition you are configuring (there must be at least one). Repeat the
1853 command for each partition.
1854 <PRE>   
1855    # <B>mkdir /vicep</B><VAR>xx</VAR>
1856    
1857 </PRE>
1858 <P><LI>Add a line with the following format to the file systems registry file,
1859 <B>/etc/vfstab</B>, for each partition to be mounted on a directory
1860 created in the previous step. Note the value <TT>afs</TT> in the
1861 fourth field, which tells Solaris to use the AFS-modified <B>fsck</B>
1862 program on this partition.
1863 <PRE>   
1864    /dev/dsk/<VAR>disk</VAR>   /dev/rdsk/<VAR>disk</VAR>   /vicep<VAR>xx</VAR>   afs   <VAR>boot_order</VAR>  yes  
1865 </PRE> 
1866 <P>The following is an example for the first partition being
1867 configured.
1868 <PRE>  
1869    /dev/dsk/c0t6d0s1 /dev/rdsk/c0t6d0s1 /vicepa afs 3 yes
1870   
1871 </PRE>
1872 <P><LI>Create a file system on each partition that is to be mounted at a
1873 <B>/vicep</B><VAR>xx</VAR> directory. The following command is
1874 probably appropriate, but consult the Solaris documentation for more
1875 information. 
1876 <PRE>  
1877    # <B>newfs -v /dev/rdsk/</B><VAR>disk</VAR>
1878   
1879 </PRE>
1880 <P><LI>Issue the <B>mountall</B> command to mount all partitions at
1881 once.
1882 <P><LI>If you plan to retain client functionality on this machine after
1883 completing the installation, proceed to <A HREF="#HDRWQ49">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris Systems</A>. Otherwise, proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1884 </OL>
1885 <A NAME="IDX2354"></A>
1886 <A NAME="IDX2355"></A>
1887 <A NAME="IDX2356"></A>
1888 <A NAME="IDX2357"></A>
1889 <A NAME="IDX2358"></A>
1890 <A NAME="IDX2359"></A>
1891 <A NAME="IDX2360"></A>
1892 <A NAME="IDX2361"></A>
1893 <P><H3><A NAME="HDRWQ49" HREF="auqbg002.htm#ToC_62">Enabling AFS Login and Editing the File Systems Clean-up Script on Solaris Systems</A></H3>
1894 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">If you plan to remove client functionality from this machine
1895 after completing the installation, skip this section and proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A>.
1896 </TD></TR></TABLE>
1897 <P>At this point you incorporate AFS into the operating system's
1898 Pluggable Authentication Module (PAM) scheme. PAM integrates all
1899 authentication mechanisms on the machine, including login, to provide the
1900 security infrastructure for authenticated access to and from the
1901 machine.
1902 <P>Explaining PAM is beyond the scope of this document. It is assumed
1903 that you understand the syntax and meanings of settings in the PAM
1904 configuration file (for example, how the <TT>other</TT> entry works, the
1905 effect of marking an entry as <TT>required</TT>, <TT>optional</TT>, or
1906 <TT>sufficient</TT>, and so on).
1907 <P>The following instructions explain how to alter the entries in the PAM
1908 configuration file for each service for which you wish to use AFS
1909 authentication. Other configurations possibly also work, but the
1910 instructions specify the recommended and tested configuration.
1911 <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
1912 <TT>optional</TT>. However, marking some modules as optional can mean
1913 that they grant access to the corresponding service even when the user does
1914 not meet all of the module's requirements. In some operating
1915 system revisions, for example, if you mark as optional the module that
1916 controls login via a dial-up connection, it allows users to login without
1917 providing a password. See the <I>IBM AFS Release Notes</I> for a
1918 discussion of any limitations that apply to this operating system. 
1919 <P>Also, with some operating system versions you must install patches for PAM
1920 to interact correctly with certain authentication programs. For
1921 details, see the <I>IBM AFS Release Notes</I>.
1922 </TD></TR></TABLE>
1923 <P>The recommended AFS-related entries in the PAM configuration file make use
1924 of one or more of the following three attributes.
1925 <DL>
1926 <P><DT><B><TT>try_first_pass</TT>
1927 </B><DD>This is a standard PAM attribute that can be included on entries after the
1928 first one for a service; it directs the module to use the password that
1929 was provided to the first module. For the AFS module, it means that AFS
1930 authentication succeeds if the password provided to the module listed first is
1931 the user's correct AFS password. For further discussion of this
1932 attribute and its alternatives, see the operating system's PAM
1933 documentation.
1934 <P><DT><B><TT>ignore_root</TT>
1935 </B><DD>This attribute, specific to the AFS PAM module, directs it to ignore not
1936 only the local superuser <B> root</B>, but also any user with UID 0
1937 (zero).
1938 <P><DT><B><TT>setenv_password_expires</TT>
1939 </B><DD>This attribute, specific to the AFS PAM module, sets the environment
1940 variable PASSWORD_EXPIRES to the expiration date of the user's AFS
1941 password, which is recorded in the Authentication Database.
1942 </DL>
1943 <P>Perform the following steps to enable AFS login.
1944 <OL TYPE=1>
1945 <P><LI>Mount the AFS CD-ROM for Solaris on the <B>/cdrom</B> directory, if it
1946 is not already. Then change directory as indicated. 
1947 <PRE>  
1948    # <B>cd /usr/lib/security</B>
1949    
1950 </PRE>
1951 <P><LI>Copy the AFS authentication library file to the
1952 <B>/usr/lib/security</B> directory. Then create a symbolic link to
1953 it whose name does not mention the version. Omitting the version
1954 eliminates the need to edit the PAM configuration file if you later update the
1955 library file. 
1956 <P>If you use the AFS Authentication Server (<B>kaserver</B>
1957 process): 
1958 <PRE>  
1959    #<B> cp /cdrom/sun4x_56/lib/pam_afs.so.1 .</B>
1960   
1961    # <B>ln -s pam_afs.so.1 pam_afs.so</B>   
1962 </PRE> 
1963 <P>If you use a Kerberos implementation of AFS authentication:
1964 <PRE>     
1965    # <B>cp /cdrom/sun4x_56/lib/pam_afs.krb.so.1 .</B>
1966   
1967    # <B>ln -s pam_afs.krb.so.1 pam_afs.so</B>
1968    
1969 </PRE>
1970 <P><LI>Edit the <TT>Authentication management</TT> section of the Solaris PAM
1971 configuration file, <B>/etc/pam.conf</B> by convention. The
1972 entries in this section have the value <TT>auth</TT> in their second
1973 field. 
1974 <P>First edit the standard entries, which refer to the Solaris PAM module
1975 (usually, the file <B>/usr/lib/security/pam_unix.so.1</B>)
1976 in their fourth field. For each service for which you want to use AFS
1977 authentication, edit the third field of its entry to read
1978 <TT>optional</TT>. The <B>pam.conf</B> file in the Solaris
1979 distribution usually includes standard entries for the <B>login</B>,
1980 <B>rlogin</B>, and <B>rsh</B> services, for instance. 
1981 <P>If there are services for which you want to use AFS authentication, but for
1982 which the <B>pam.conf</B> file does not already include a standard
1983 entry, you must create that entry and place the value <TT>optional</TT> in
1984 its third field. For instance, the Solaris <B>pam.conf</B>
1985 file does not usually include standard entries for the <B>ftp</B> or
1986 <B>telnet</B> services. 
1987 <P>Then create an AFS-related entry for each service, placing it immediately
1988 below the standard entry. The following example shows what the
1989 <TT>Authentication Management</TT> section looks like after you have you
1990 edited or created entries for the services mentioned previously. Note
1991 that the example AFS entries appear on two lines only for legibility.
1992 <PRE>  
1993    login   auth  optional  /usr/lib/security/pam_unix.so.1
1994    login   auth  optional  /usr/lib/security/pam_afs.so       \
1995          try_first_pass  ignore_root  setenv_password_expires
1996    rlogin  auth  optional  /usr/lib/security/pam_unix.so.1
1997    rlogin  auth  optional  /usr/lib/security/pam_afs.so       \
1998          try_first_pass  ignore_root  setenv_password_expires
1999    rsh     auth  optional  /usr/lib/security/pam_unix.so.1
2000    rsh     auth  optional  /usr/lib/security/pam_afs.so       \
2001          try_first_pass  ignore_root            
2002    ftp     auth  optional  /usr/lib/security/pam_unix.so.1
2003    ftp     auth  optional  /usr/lib/security/pam_afs.so       \
2004          try_first_pass  ignore_root
2005    telnet  auth  optional  /usr/lib/security/pam_unix.so.1
2006    telnet  auth  optional  /usr/lib/security/pam_afs.so       \
2007          try_first_pass  ignore_root  setenv_password_expires
2008    
2009 </PRE>
2010 <P><LI>If you use the Common Desktop Environment (CDE) on the machine and want
2011 users to obtain an AFS token as they log in, also add or edit the following
2012 four entries in the <TT>Authentication management</TT> section. Note
2013 that the AFS-related entries appear on two lines here only for
2014 legibility. 
2015 <PRE>   
2016    dtlogin   auth  optional  /usr/lib/security/pam_unix.so.1
2017    dtlogin   auth  optional  /usr/lib/security/pam_afs.so     \
2018          try_first_pass  ignore_root
2019    dtsession  auth  optional /usr/lib/security/pam_unix.so.1
2020    dtsession  auth  optional /usr/lib/security/pam_afs.so     \
2021          try_first_pass  ignore_root
2022    
2023 </PRE>
2024 <P><LI>Some Solaris distributions include a script that locates and removes
2025 unneeded files from various file systems. Its conventional location is
2026 <B>/usr/lib/fs/nfs/nfsfind</B>. The script generally uses an
2027 argument to the <B>find</B> command to define which file systems to
2028 search. In this step you modify the command to exclude the
2029 <B>/afs</B> directory. Otherwise, the command traverses the AFS
2030 filespace of every cell that is accessible from the machine, which can take
2031 many hours. The following alterations are possibilities, but you must
2032 verify that they are appropriate for your cell. 
2033 <P>The first possible alteration is to add the <B>-local</B> flag to the
2034 existing command, so that it looks like the following:
2035 <PRE>  
2036    find $dir -local -name .nfs\* -mtime +7 -mount -exec rm -f {} \;   
2037 </PRE> 
2038 <P>Another alternative is to exclude any directories whose names begin with
2039 the lowercase letter <B>a</B> or a non-alphabetic character.
2040 <PRE>  
2041    find /[A-Zb-z]*  <VAR>remainder of existing command</VAR>   
2042 </PRE> 
2043 <P>Do not use the following command, which still searches under the
2044 <B>/afs</B> directory, looking for a subdirectory of type
2045 <B>4.2</B>. 
2046 <PRE>  
2047    find / -fstype 4.2     /* <VAR>do not use</VAR> */
2048    
2049 </PRE>
2050 <P><LI>Proceed to <A HREF="#HDRWQ50">Starting the BOS Server</A> (or if referring to these instructions while installing an
2051 additional file server machine, return to <A HREF="auqbg006.htm#HDRWQ108">Starting Server Programs</A>).
2052 </OL>
2053 <A NAME="IDX2362"></A>
2054 <A NAME="IDX2363"></A>
2055 <A NAME="IDX2364"></A>
2056 <A NAME="IDX2365"></A>
2057 <A NAME="IDX2366"></A>
2058 <A NAME="IDX2367"></A>
2059 <A NAME="IDX2368"></A>
2060 <HR><H2><A NAME="HDRWQ50" HREF="auqbg002.htm#ToC_63">Starting the BOS Server</A></H2>
2061 <P>You are now ready to start the AFS server processes on this
2062 machine. Begin by copying the AFS server binaries from the CD-ROM to
2063 the conventional local disk location, the <B>/usr/afs/bin</B>
2064 directory. The following instructions also create files in other
2065 subdirectories of the <B>/usr/afs</B> directory.
2066 <P>Then issue the <B>bosserver</B> command to initialize the Basic
2067 OverSeer (BOS) Server, which monitors and controls other AFS server processes
2068 on its server machine. Include the <B>-noauth</B> flag to disable
2069 authorization checking. Because you have not yet configured your
2070 cell's AFS authentication and authorization mechanisms, the BOS Server
2071 cannot perform authorization checking as it does during normal
2072 operation. In no-authorization mode, it does not verify the identity or
2073 privilege of the issuer of a <B>bos</B> command, and so performs any
2074 operation for anyone.
2075 <P>Disabling authorization checking gravely compromises cell security.
2076 You must complete all subsequent steps in one uninterrupted pass and must not
2077 leave the machine unattended until you restart the BOS Server with
2078 authorization checking enabled, in <A HREF="#HDRWQ72">Verifying the AFS Initialization Script</A>.
2079 <P>As it initializes for the first time, the BOS Server creates the following
2080 directories and files, setting the owner to the local superuser
2081 <B>root</B> and the mode bits to limit the ability to write (and in some
2082 cases, read) them. For a description of the contents and function of
2083 these directories and files, see the chapter in the <I>IBM AFS
2084 Administration Guide</I> about administering server machines. For
2085 further discussion of the mode bit settings, see <A HREF="#HDRWQ96">Protecting Sensitive AFS Directories</A>.
2086 <A NAME="IDX2369"></A>
2087 <A NAME="IDX2370"></A>
2088 <A NAME="IDX2371"></A>
2089 <A NAME="IDX2372"></A>
2090 <A NAME="IDX2373"></A>
2091 <A NAME="IDX2374"></A>
2092 <A NAME="IDX2375"></A>
2093 <A NAME="IDX2376"></A>
2094 <A NAME="IDX2377"></A>
2095 <A NAME="IDX2378"></A>
2096 <A NAME="IDX2379"></A>
2097 <UL>
2098 <P><LI><B>/usr/afs/db</B>
2099 <P><LI><B>/usr/afs/etc/CellServDB</B>
2100 <P><LI><B>/usr/afs/etc/ThisCell</B>
2101 <P><LI><B>/usr/afs/local</B>
2102 <P><LI><B>/usr/afs/logs</B>
2103 </UL>
2104 <P>The BOS Server also creates symbolic links called
2105 <B>/usr/vice/etc/ThisCell</B> and <B>/usr/vice/etc/CellServDB</B> to
2106 the corresponding files in the <B>/usr/afs/etc</B> directory. The
2107 AFS command interpreters consult the <B>CellServDB</B> and
2108 <B>ThisCell</B> files in the <B>/usr/vice/etc</B> directory because
2109 they generally run on client machines. On machines that are AFS servers
2110 only (as this machine currently is), the files reside only in the
2111 <B>/usr/afs/etc</B> directory; the links enable the command
2112 interpreters to retrieve the information they need. Later instructions
2113 for installing the client functionality replace the links with actual
2114 files.
2115 <OL TYPE=1>
2116 <P><LI>On the local <B>/cdrom</B> directory, mount the AFS CD-ROM for this
2117 machine's system type, if it is not already. For instructions on
2118 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
2119 system documentation.
2120 <P><LI>Copy files from the CD-ROM to the local <B>/usr/afs</B>
2121 directory.
2122 <PRE>   
2123    # <B>cd /cdrom/</B><VAR>sysname</VAR><B>/root.server/usr/afs</B>
2124    
2125    # <B>cp -rp  *  /usr/afs</B>
2126    
2127 </PRE>
2128 <A NAME="IDX2380"></A>
2129 <A NAME="IDX2381"></A>
2130 <P><LI>Issue the <B>bosserver</B> command. Include the
2131 <B>-noauth</B> flag to disable authorization checking. 
2132 <PRE>   
2133    # <B>/usr/afs/bin/bosserver -noauth &amp;</B>
2134    
2135 </PRE>
2136 <P><LI>Verify that the BOS Server created <B>/usr/vice/etc/ThisCell</B> and
2137 <B>/usr/vice/etc/CellServDB</B> as symbolic links to the corresponding
2138 files in the <B>/usr/afs/etc</B> directory. 
2139 <PRE>   
2140    # <B>ls -l  /usr/vice/etc</B>
2141 </PRE> 
2142 <P>If either or both of <B>/usr/vice/etc/ThisCell</B> and
2143 <B>/usr/vice/etc/CellServDB</B> do not exist, or are not links, issue the
2144 following commands.
2145 <PRE>   
2146    # <B>cd /usr/vice/etc</B>
2147    
2148    # <B>ln -s /usr/afs/etc/ThisCell</B>
2149    
2150    # <B>ln -s /usr/afs/etc/CellServDB</B> 
2151     
2152 </PRE>
2153 </OL>
2154 <A NAME="IDX2382"></A>
2155 <A NAME="IDX2383"></A>
2156 <A NAME="IDX2384"></A>
2157 <A NAME="IDX2385"></A>
2158 <A NAME="IDX2386"></A>
2159 <A NAME="IDX2387"></A>
2160 <A NAME="IDX2388"></A>
2161 <A NAME="IDX2389"></A>
2162 <A NAME="IDX2390"></A>
2163 <A NAME="IDX2391"></A>
2164 <A NAME="IDX2392"></A>
2165 <A NAME="IDX2393"></A>
2166 <A NAME="IDX2394"></A>
2167 <A NAME="IDX2395"></A>
2168 <A NAME="IDX2396"></A>
2169 <A NAME="IDX2397"></A>
2170 <A NAME="IDX2398"></A>
2171 <HR><H2><A NAME="HDRWQ51" HREF="auqbg002.htm#ToC_64">Defining Cell Name and Membership for Server Processes</A></H2>
2172 <P>Now assign your cell's name. The chapter in the
2173 <I>IBM AFS Administration Guide</I> about cell configuration and
2174 administration issues discusses the important considerations, explains why
2175 changing the name is difficult, and outlines the restrictions on name
2176 format. Two of the most important restrictions are that the name cannot
2177 include uppercase letters or more than 64 characters.
2178 <P>Use the <B>bos setcellname</B> command to assign the cell name.
2179 It creates two files:
2180 <UL>
2181 <P><LI><B>/usr/afs/etc/ThisCell</B>, which defines this machine's cell
2182 membership
2183 <P><LI><B>/usr/afs/etc/CellServDB</B>, which lists the cell's database
2184 server machines; the machine named on the command line is placed on the
2185 list automatically
2186 </UL>
2187 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">In the following and every instruction in this guide, for the
2188 <VAR>machine&nbsp;name</VAR> argument substitute the fully-qualified hostname
2189 (such as <B>fs1.abc.com</B>) of the machine you are
2190 installing. For the <VAR>cell&nbsp;name</VAR> argument substitute your
2191 cell's complete name (such as <B>abc.com</B>).
2192 </TD></TR></TABLE>
2193 <A NAME="IDX2399"></A>
2194 <A NAME="IDX2400"></A>
2195 <OL TYPE=1>
2196 <P><LI>Issue the <B>bos setcellname</B> command to set the cell name. 
2197 <PRE>   
2198    # <B>cd /usr/afs/bin</B>
2199       
2200    # <B>./bos setcellname</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2201 </PRE> 
2202 <P>Because you are not authenticated and authorization checking is disabled,
2203 the <B>bos</B> command interpreter possibly produces error messages about
2204 being unable to obtain tickets and running unauthenticated. You can
2205 safely ignore the messages.
2206 <A NAME="IDX2401"></A>
2207 <A NAME="IDX2402"></A>
2208 <A NAME="IDX2403"></A>
2209 <A NAME="IDX2404"></A>
2210 <P><LI>Issue the <B>bos listhosts</B> command to verify that the machine you
2211 are installing is now registered as the cell's first database server
2212 machine. 
2213 <PRE>   
2214    # <B>./bos listhosts</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-noauth</B>
2215    Cell name is <VAR>cell_name</VAR>
2216        Host 1 is <VAR>machine_name</VAR>
2217    
2218 </PRE>
2219 </OL>
2220 <A NAME="IDX2405"></A>
2221 <A NAME="IDX2406"></A>
2222 <A NAME="IDX2407"></A>
2223 <A NAME="IDX2408"></A>
2224 <A NAME="IDX2409"></A>
2225 <A NAME="IDX2410"></A>
2226 <A NAME="IDX2411"></A>
2227 <A NAME="IDX2412"></A>
2228 <A NAME="IDX2413"></A>
2229 <A NAME="IDX2414"></A>
2230 <A NAME="IDX2415"></A>
2231 <A NAME="IDX2416"></A>
2232 <A NAME="IDX2417"></A>
2233 <A NAME="IDX2418"></A>
2234 <A NAME="IDX2419"></A>
2235 <A NAME="IDX2420"></A>
2236 <A NAME="IDX2421"></A>
2237 <A NAME="IDX2422"></A>
2238 <A NAME="IDX2423"></A>
2239 <A NAME="IDX2424"></A>
2240 <A NAME="IDX2425"></A>
2241 <A NAME="IDX2426"></A>
2242 <A NAME="IDX2427"></A>
2243 <A NAME="IDX2428"></A>
2244 <A NAME="IDX2429"></A>
2245 <HR><H2><A NAME="HDRWQ52" HREF="auqbg002.htm#ToC_65">Starting the Database Server Processes</A></H2>
2246 <P>Next use the <B>bos create</B> command to create entries
2247 for the four database server processes in the
2248 <B>/usr/afs/local/BosConfig</B> file and start them running. The
2249 four processes run on database server machines only:
2250 <UL>
2251 <P><LI>The Authentication Server (the <B>kaserver</B> process) maintains the
2252 Authentication Database
2253 <P><LI>The Backup Server (the <B>buserver</B> process) maintains the Backup
2254 Database
2255 <P><LI>The Protection Server (the <B>ptserver</B> process) maintains the
2256 Protection Database
2257 <P><LI>The Volume Location (VL) Server (the <B>vlserver</B> process)
2258 maintains the Volume Location Database (VLDB)
2259 </UL>
2260 <A NAME="IDX2430"></A>
2261 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">AFS's authentication and authorization software is based on algorithms
2262 and other procedures known as <I>Kerberos</I>, as originally developed by
2263 Project Athena at the Massachusetts Institute of Technology. Some cells
2264 choose to replace the AFS Authentication Server and other security-related
2265 protocols with Kerberos as obtained directly from Project Athena or other
2266 sources. If you wish to do this, contact the AFS Product Support group
2267 now to learn about necessary modifications to the installation.
2268 </TD></TR></TABLE>
2269 <P>The remaining instructions in this chapter include the <B>-cell</B>
2270 argument on all applicable commands. Provide the cell name you assigned
2271 in <A HREF="#HDRWQ51">Defining Cell Name and Membership for Server Processes</A>. If a command appears on multiple lines, it is only
2272 for legibility.
2273 <A NAME="IDX2431"></A>
2274 <A NAME="IDX2432"></A>
2275 <OL TYPE=1>
2276 <P><LI>Issue the <B>bos create</B> command to start the Authentication
2277 Server. The current working directory is still
2278 <B>/usr/afs/bin</B>. 
2279 <PRE>   
2280    # <B>./bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>kaserver simple /usr/afs/bin/kaserver</B>  \
2281 <B>                  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>   
2282 </PRE> 
2283 <P>You can safely ignore the messages that tell you to add Kerberos to the
2284 <B>/etc/services</B> file; AFS uses a default value that makes the
2285 addition unnecessary. You can also ignore messages about the failure of
2286 authentication.
2287 <P><LI>Issue the <B>bos create</B> command to start the Backup Server.
2288 <PRE>   
2289    # <B>./bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>buserver simple /usr/afs/bin/buserver</B>  \
2290 <B>                  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2291    
2292 </PRE>
2293 <P><LI>Issue the <B>bos create</B> command to start the Protection
2294 Server. 
2295 <PRE>   
2296    # <B>./bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>ptserver simple /usr/afs/bin/ptserver</B>  \
2297 <B>                  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2298    
2299 </PRE>
2300 <P><LI>Issue the <B>bos create</B> command to start the VL Server. 
2301 <PRE>   
2302    # <B>./bos create</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>vlserver simple /usr/afs/bin/vlserver</B>  \
2303 <B>                  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2304    
2305 </PRE>
2306 </OL>
2307 <A NAME="IDX2433"></A>
2308 <A NAME="IDX2434"></A>
2309 <A NAME="IDX2435"></A>
2310 <A NAME="IDX2436"></A>
2311 <A NAME="IDX2437"></A>
2312 <A NAME="IDX2438"></A>
2313 <A NAME="IDX2439"></A>
2314 <A NAME="IDX2440"></A>
2315 <A NAME="IDX2441"></A>
2316 <A NAME="IDX2442"></A>
2317 <A NAME="IDX2443"></A>
2318 <A NAME="IDX2444"></A>
2319 <A NAME="IDX2445"></A>
2320 <HR><H2><A NAME="HDRWQ53" HREF="auqbg002.htm#ToC_66">Initializing Cell Security</A></H2>
2321 <P>Now initialize the cell's security mechanisms.
2322 Begin by creating the following two initial entries in the Authentication
2323 Database:
2324 <UL>
2325 <P><LI>A generic administrative account, called <B>admin</B> by
2326 convention. If you choose to assign a different name, substitute it
2327 throughout the remainder of this document. 
2328 <P>After you complete the installation of the first machine, you can continue
2329 to have all administrators use the <B>admin</B> account, or you can create
2330 a separate administrative account for each of them. The latter scheme
2331 implies somewhat more overhead, but provides a more informative audit trail
2332 for administrative operations.
2333 <P><LI>The entry for AFS server processes, called <B>afs</B>. No user
2334 logs in under this identity, but the Authentication Server's Ticket
2335 Granting Service (TGS) module uses the associated key to encrypt the server
2336 tickets that it grants to AFS clients for presentation to server processes
2337 during mutual authentication. (The chapter in the <I>IBM AFS
2338 Administration Guide</I> about cell configuration and administration
2339 describes the role of server encryption keys in mutual authentication.)
2340 <P>In Step <A HREF="#LIWQ58">7</A>, you also place the initial AFS server encryption key into
2341 the <B>/usr/afs/etc/KeyFile</B> file. The AFS server processes
2342 refer to this file to learn the server encryption key when they need to
2343 decrypt server tickets.
2344 </UL>
2345 <P>You also issue several commands that enable the new <B>admin</B> user
2346 to issue privileged commands in all of the AFS suites.
2347 <P>The following instructions do not configure all of the security mechanisms
2348 related to the AFS Backup System. See the chapter in the <I>IBM AFS
2349 Administration Guide</I> about configuring the Backup System.
2350 <OL TYPE=1>
2351 <A NAME="IDX2446"></A>
2352 <A NAME="IDX2447"></A>
2353 <A NAME="IDX2448"></A>
2354 <P><LI>Enter <B>kas</B> interactive mode. Because the machine is in
2355 no-authorization checking mode, include the <B>-noauth</B> flag to
2356 suppress the Authentication Server's usual prompt for a password.
2357 <PRE>   
2358    # <B>kas  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B> 
2359    ka>
2360   
2361 </PRE>
2362 <A NAME="IDX2449"></A>
2363 <A NAME="IDX2450"></A>
2364 <A NAME="IDX2451"></A>
2365 <A NAME="IDX2452"></A>
2366 <P><LI><A NAME="LIWQ54"></A>Issue the <B>kas create</B> command to create Authentication
2367 Database entries called <B>admin</B> and <B>afs</B>. 
2368 <P>Do not provide passwords on the command line. Instead provide them
2369 as <VAR>afs_passwd</VAR> and <VAR>admin_passwd</VAR> in response to the
2370 <B>kas</B> command interpreter's prompts as shown, so that they do
2371 not appear on the standard output stream.
2372 <P>You need to enter the <VAR>afs_passwd</VAR> string only in this step and in
2373 Step <A HREF="#LIWQ58">7</A>, so provide a value that is as long and complex as possible,
2374 preferably including numerals, punctuation characters, and both uppercase and
2375 lowercase letters. Also make the <VAR>admin_passwd</VAR> as long and
2376 complex as possible, but keep in mind that administrators need to enter it
2377 often. Both passwords must be at least six characters long.
2378 <PRE>   
2379    ka> <B>create afs</B> 
2380    initial_password:  <VAR>afs_passwd</VAR>
2381    Verifying, please re-enter initial_password: <VAR>afs_passwd</VAR>
2382     
2383    ka> <B>create admin</B>
2384    initial_password: <VAR>admin_passwd</VAR>
2385    Verifying, please re-enter initial_password: <VAR>admin_passwd</VAR>
2386    
2387 </PRE>
2388 <A NAME="IDX2453"></A>
2389 <A NAME="IDX2454"></A>
2390 <A NAME="IDX2455"></A>
2391 <P><LI><A NAME="LIWQ55"></A>Issue the <B>kas examine</B> command to display the
2392 <B>afs</B> entry. The output includes a checksum generated by
2393 encrypting a constant with the server encryption key derived from the
2394 <VAR>afs_passwd</VAR> string. In Step <A HREF="#LIWQ59">8</A> you issue the <B>bos listkeys</B> command to verify
2395 that the checksum in its output matches the checksum in this output.
2396 <PRE>   
2397    ka> <B>examine afs</B>
2398    User data for afs
2399     key (0) cksum is <VAR>checksum</VAR> . . .
2400    
2401 </PRE>
2402 <A NAME="IDX2456"></A>
2403 <A NAME="IDX2457"></A>
2404 <A NAME="IDX2458"></A>
2405 <P><LI><A NAME="LIWQ56"></A>Issue the <B>kas setfields</B> command to turn on the
2406 <TT>ADMIN</TT> flag in the <B>admin</B> entry. This enables the
2407 <B>admin</B> user to issue privileged <B>kas</B> commands. Then
2408 issue the <B> kas examine</B> command to verify that the <TT>ADMIN</TT>
2409 flag appears in parentheses on the first line of the output, as shown in the
2410 example.
2411 <PRE>   
2412    ka> <B>setfields admin -flags admin</B>
2413    
2414    ka> <B>examine admin </B>
2415    User data for admin (ADMIN) . . .
2416      
2417 </PRE>
2418 <A NAME="IDX2459"></A>
2419 <A NAME="IDX2460"></A>
2420 <A NAME="IDX2461"></A>
2421 <P><LI>Issue the <B>kas quit</B> command to leave <B>kas</B> interactive
2422 mode.
2423 <PRE>   
2424    ka> <B>quit</B>
2425    
2426 </PRE>
2427 <A NAME="IDX2462"></A>
2428 <A NAME="IDX2463"></A>
2429 <A NAME="IDX2464"></A>
2430 <A NAME="IDX2465"></A>
2431 <A NAME="IDX2466"></A>
2432 <A NAME="IDX2467"></A>
2433 <A NAME="IDX2468"></A>
2434 <P><LI><A NAME="LIWQ57"></A>Issue the <B>bos adduser</B> command to add the
2435 <B>admin</B> user to the <B>/usr/afs/etc/UserList</B> file.
2436 This enables the <B>admin</B> user to issue privileged <B>bos</B> and
2437 <B>vos</B> commands. 
2438 <PRE>   
2439    # <B>./bos adduser</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>admin -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2440    
2441 </PRE>
2442 <A NAME="IDX2469"></A>
2443 <A NAME="IDX2470"></A>
2444 <A NAME="IDX2471"></A>
2445 <A NAME="IDX2472"></A>
2446 <P><LI><A NAME="LIWQ58"></A>Issue the <B>bos addkey</B> command to define the AFS server
2447 encryption key in the <B>/usr/afs/etc/KeyFile</B> file. 
2448 <P>Do not provide the password on the command line. Instead provide it
2449 as <VAR>afs_passwd</VAR> in response to the <B>bos</B> command
2450 interpreter's prompts, as shown. Provide the same string as in
2451 Step <A HREF="#LIWQ54">2</A>.
2452 <PRE>   
2453    # <B>./bos addkey</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-kvno 0 -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2454    Input key: <VAR>afs_passwd</VAR>
2455    Retype input key: <VAR>afs_passwd</VAR>
2456    
2457 </PRE>
2458 <A NAME="IDX2473"></A>
2459 <A NAME="IDX2474"></A>
2460 <A NAME="IDX2475"></A>
2461 <P><LI><A NAME="LIWQ59"></A>Issue the <B>bos listkeys</B> command to verify that the
2462 checksum for the new key in the <B>KeyFile</B> file is the same as the
2463 checksum for the key in the Authentication Database's <B>afs</B>
2464 entry, which you displayed in Step <A HREF="#LIWQ55">3</A>. 
2465 <PRE>   
2466    # <B>./bos listkeys</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2467    key 0 has cksum <VAR>checksum</VAR>    
2468 </PRE> 
2469 <P>You can safely ignore any error messages indicating that <B>bos</B>
2470 failed to get tickets or that authentication failed.
2471 <P>If the keys are different, issue the following commands, making sure that
2472 the <VAR>afs_passwd</VAR> string is the same in each case. The
2473 <VAR>checksum</VAR> strings reported by the <B>kas examine</B> and <B>bos
2474 listkeys</B> commands must match; if they do not, repeat these
2475 instructions until they do, using the <B>-kvno</B> argument to increment
2476 the key version number each time.
2477 <PRE>   
2478    # <B>./kas  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B> 
2479        
2480    ka> <B>setpassword afs -kvno 1</B> 
2481    new_password: <VAR>afs_passwd</VAR>
2482    Verifying, please re-enter initial_password: <VAR>afs_passwd</VAR>
2483    
2484    ka> <B>examine afs</B>
2485    User data for afs
2486     key (1) cksum is <VAR>checksum</VAR> . . .
2487   
2488    ka> <B>quit</B>
2489   
2490    # <B>./bos addkey</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-kvno 1 -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B> 
2491    Input key: <VAR>afs_passwd</VAR>
2492    Retype input key: <VAR>afs_passwd</VAR>
2493    
2494    # <B>./bos listkeys</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2495    key 1 has cksum <VAR>checksum</VAR>
2496    
2497 </PRE>
2498 <A NAME="IDX2476"></A>
2499 <A NAME="IDX2477"></A>
2500 <A NAME="IDX2478"></A>
2501 <P><LI>Issue the <B>pts createuser</B> command to create a Protection
2502 Database entry for the <B>admin</B> user. 
2503 <P>By default, the Protection Server assigns AFS UID 1 (one) to the
2504 <B>admin</B> user, because it is the first user entry you are
2505 creating. If the local password file (<B>/etc/passwd</B> or
2506 equivalent) already has an entry for <B>admin</B> that assigns it a UNIX
2507 UID other than 1, it is best to use the <B>-id</B> argument to the
2508 <B>pts createuser</B> command to make the new AFS UID match the existing
2509 UNIX UID. Otherwise, it is best to accept the default. 
2510 <PRE>   
2511    # <B>./pts createuser -name admin -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> [<B>-id</B> &lt;<VAR>AFS&nbsp;UID</VAR>>]  <B>-noauth</B>
2512    User admin has id <VAR>AFS&nbsp;UID</VAR>
2513    
2514 </PRE>
2515 <A NAME="IDX2479"></A>
2516 <A NAME="IDX2480"></A>
2517 <A NAME="IDX2481"></A>
2518 <A NAME="IDX2482"></A>
2519 <P><LI>Issue the <B>pts adduser</B> command to make the <B>admin</B> user
2520 a member of the <B>system:administrators</B> group, and the <B>pts
2521 membership</B> command to verify the new membership. Membership in
2522 the group enables the <B>admin</B> user to issue privileged <B>pts</B>
2523 commands and some privileged <B>fs</B> commands.
2524 <PRE>   
2525    # <B>./pts adduser admin system:administrators -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2526    
2527    # <B>./pts membership admin -cell</B>  &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2528    Groups admin (id: 1) is a member of:
2529      system:administrators
2530    
2531 </PRE>
2532 <A NAME="IDX2483"></A>
2533 <A NAME="IDX2484"></A>
2534 <A NAME="IDX2485"></A>
2535 <A NAME="IDX2486"></A>
2536 <P><LI>Issue the <B>bos restart</B> command with the <B>-all</B> flag to
2537 restart the database server processes, so that they start using the new server
2538 encryption key. 
2539 <PRE>   
2540    # <B>./bos restart</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-all -cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-noauth</B>
2541    
2542 </PRE>
2543 </OL>
2544 <A NAME="IDX2487"></A>
2545 <A NAME="IDX2488"></A>
2546 <A NAME="IDX2489"></A>
2547 <A NAME="IDX2490"></A>
2548 <A NAME="IDX2491"></A>
2549 <A NAME="IDX2492"></A>
2550 <A NAME="IDX2493"></A>
2551 <A NAME="IDX2494"></A>
2552 <A NAME="IDX2495"></A>
2553 <A NAME="IDX2496"></A>
2554 <A NAME="IDX2497"></A>
2555 <A NAME="IDX2498"></A>
2556 <HR><H2><A NAME="HDRWQ60" HREF="auqbg002.htm#ToC_67">Starting the File Server, Volume Server, and Salvager</A></H2>
2557 <P>Start the <B>fs</B> process, which consists of the File
2558 Server, Volume Server, and Salvager (<B>fileserver</B>,
2559 <B>volserver</B> and <B>salvager</B> processes).
2560 <OL TYPE=1>
2561 <P><LI>Issue the <B>bos create</B> command to start the <B>fs</B>
2562 process. The command appears here on multiple lines only for
2563 legibility.
2564 <PRE>   
2565    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>fs fs /usr/afs/bin/fileserver</B>   \
2566                    <B>/usr/afs/bin/volserver /usr/afs/bin/salvager</B>  \
2567                    <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>   
2568 </PRE> 
2569 <P>Sometimes a message about Volume Location Database (VLDB) initialization
2570 appears, along with one or more instances of an error message similar to the
2571 following:
2572 <PRE>   
2573    FSYNC_clientInit temporary failure (will retry)   
2574 </PRE> 
2575 <P>This message appears when the <B>volserver</B> process tries to start
2576 before the <B>fileserver</B> process has completed its
2577 initialization. Wait a few minutes after the last such message before
2578 continuing, to guarantee that both processes have started successfully.
2579 <A NAME="IDX2499"></A>
2580 <A NAME="IDX2500"></A>
2581 <P>You can verify that the <B>fs</B> process has started successfully by
2582 issuing the <B>bos status</B> command. Its output mentions two
2583 <TT>proc starts</TT>.
2584 <PRE>  
2585    # <B>./bos status</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>fs -long -noauth</B>
2586    
2587 </PRE>
2588 <P><LI>Your next action depends on whether you have ever run AFS file server
2589 machines in the cell:
2590 <UL>
2591 <A NAME="IDX2501"></A>
2592 <A NAME="IDX2502"></A>
2593 <A NAME="IDX2503"></A>
2594 <A NAME="IDX2504"></A>
2595 <A NAME="IDX2505"></A>
2596 <P><LI>If you are installing the first AFS server machine ever in the cell (that
2597 is, you are not upgrading the AFS software from a previous version), create
2598 the first AFS volume, <B>root.afs</B>.
2599 <P>For the <VAR>partition&nbsp;name</VAR> argument, substitute the name of one of
2600 the machine's AFS server partitions (such as <B>/vicepa</B>). 
2601 <PRE>  
2602    # <B>./vos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <B>root.afs</B>   \
2603                    <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>   
2604 </PRE> 
2605 <P>The Volume Server produces a message confirming that it created the volume
2606 on the specified partition. You can ignore error messages indicating
2607 that tokens are missing, or that authentication failed.
2608 <A NAME="IDX2506"></A>
2609 <A NAME="IDX2507"></A>
2610 <A NAME="IDX2508"></A>
2611 <A NAME="IDX2509"></A>
2612 <P><LI>If there are existing AFS file server machines and volumes in the cell,
2613 issue the <B>vos syncvldb</B> and <B>vos syncserv</B> commands to
2614 synchronize the VLDB with the actual state of volumes on the local
2615 machine. To follow the progress of the synchronization operation, which
2616 can take several minutes, use the <B>-verbose</B> flag.
2617 <PRE>  
2618    # <B>./vos syncvldb</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-verbose  -noauth</B>
2619   
2620    # <B>./vos syncserv</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>> <B>-verbose  -noauth</B>   
2621 </PRE> 
2622 <P>You can ignore error messages indicating that tokens are missing, or that
2623 authentication failed.
2624 </UL>
2625 </OL>
2626 <A NAME="IDX2510"></A>
2627 <A NAME="IDX2511"></A>
2628 <A NAME="IDX2512"></A>
2629 <A NAME="IDX2513"></A>
2630 <A NAME="IDX2514"></A>
2631 <A NAME="IDX2515"></A>
2632 <A NAME="IDX2516"></A>
2633 <A NAME="IDX2517"></A>
2634 <HR><H2><A NAME="HDRWQ61" HREF="auqbg002.htm#ToC_68">Starting the Server Portion of the Update Server</A></H2>
2635 <P>Start the server portion of the Update Server (the
2636 <B>upserver</B> process), to distribute the contents of directories on
2637 this machine to other server machines in the cell. It becomes active
2638 when you configure the client portion of the Update Server on additional
2639 server machines.
2640 <P>Distributing the contents of its <B>/usr/afs/etc</B> directory makes
2641 this machine the cell's <I>system control machine</I>. The
2642 other server machines in the cell run the <B>upclientetc</B> process (an
2643 instance of the client portion of the Update Server) to retrieve the
2644 configuration files. Use the <B>-crypt</B> argument to the
2645 <B>upserver</B> initialization command to specify that the Update Server
2646 distributes the contents of the <B>/usr/afs/etc</B> directory only in
2647 encrypted form, as shown in the following instruction. Several of the
2648 files in the directory, particularly the <B>KeyFile</B> file, are crucial
2649 to cell security and so must never cross the network unencrypted.
2650 <P>(You can choose not to configure a system control machine, in which case
2651 you must update the configuration files in each server machine's
2652 <B>/usr/afs/etc</B> directory individually. The <B>bos</B>
2653 commands used for this purpose also encrypt data before sending it across the
2654 network.)
2655 <P>Distributing the contents of its <B>/usr/afs/bin</B> directory to other
2656 server machines of its system type makes this machine a <I>binary
2657 distribution machine</I>. The other server machines of its system
2658 type run the <B>upclientbin</B> process (an instance of the client portion
2659 of the Update Server) to retrieve the binaries.
2660 <P>The binaries in the <B>/usr/afs/bin</B> directory are not sensitive, so
2661 it is not necessary to encrypt them before transfer across the network.
2662 Include the <B>-clear</B> argument to the <B>upserver</B>
2663 initialization command to specify that the Update Server distributes the
2664 contents of the <B>/usr/afs/bin</B> directory in unencrypted form unless
2665 an <B>upclientbin</B> process requests encrypted transfer.
2666 <P>Note that the server and client portions of the Update Server always
2667 mutually authenticate with one another, regardless of whether you use the
2668 <B>-clear</B> or <B>-crypt</B> arguments. This protects their
2669 communications from eavesdropping to some degree.
2670 <P>For more information on the <B>upclient</B> and <B>upserver</B>
2671 processes, see their reference pages in the <I>IBM AFS Administration
2672 Reference</I>. The commands appear on multiple lines here only for
2673 legibility.
2674 <OL TYPE=1>
2675 <P><LI>Issue the <B>bos create</B> command to start the <B>upserver</B>
2676 process. 
2677 <PRE>   
2678    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name></VAR> <B>upserver simple</B>  \ 
2679              <B>"/usr/afs/bin/upserver  -crypt /usr/afs/etc </B>   \
2680              <B>-clear /usr/afs/bin" -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B> 
2681    
2682 </PRE>
2683 </OL>
2684 <A NAME="IDX2518"></A>
2685 <A NAME="IDX2519"></A>
2686 <A NAME="IDX2520"></A>
2687 <A NAME="IDX2521"></A>
2688 <A NAME="IDX2522"></A>
2689 <A NAME="IDX2523"></A>
2690 <HR><H2><A NAME="HDRWQ62" HREF="auqbg002.htm#ToC_69">Starting the Controller for NTPD</A></H2>
2691 <P>Keeping the clocks on all server and client machines in your
2692 cell synchronized is crucial to several functions, and in particular to the
2693 correct operation of AFS's distributed database technology, Ubik.
2694 The chapter in the <I>IBM AFS Administration Guide</I> about administering
2695 server machines explains how time skew can disturb Ubik's performance and
2696 cause service outages in your cell.
2697 <P>The AFS distribution includes a version of the Network Time Protocol Daemon
2698 (NTPD) for synchronizing the clocks on server machines. If a time
2699 synchronization program is not already running on the machine, then in this
2700 section you start the <B>runntp</B> process to configure NTPD for use with
2701 AFS.
2702 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">Do not run the <B>runntp</B> process if NTPD or another time
2703 synchronization protocol is already running on the machine. Some
2704 versions of some operating systems run a time synchronization program by
2705 default, as detailed in the <I>IBM AFS Release Notes</I>. 
2706 <P>Attempting to run multiple instances of the NTPD causes an error.
2707 Running NTPD together with another time synchronization protocol is
2708 unnecessary and can cause instability in the clock setting.
2709 </TD></TR></TABLE>
2710 <P>If you run the <B>runntp</B> process and your cell has reliable network
2711 connectivity to machines outside your cell, then it is conventional to
2712 configure the first AFS machine to refer to a time source outside the
2713 cell. When you later install the <B>runntp</B> program on other
2714 server machines in the cell, it configures NTPD to choose a time source at
2715 random from among the database server machines listed in the
2716 <B>/usr/afs/etc/CellServDB</B> file. Time synchronization therefore
2717 works in a chained manner: this database server machine refers to a time
2718 source outside the cell, the database server machines refer to the machine
2719 among them that has access to the most accurate time (NTPD itself includes
2720 code for determining this), and each non-database server machine refers to a
2721 local database server machine chosen at random from the
2722 <B>/usr/afs/etc/CellServDB</B> file. If you ever decide to remove
2723 database server functionality from this machine, it is best to transfer
2724 responsibility for consulting an external time source to a remaining database
2725 server machine.
2726 <P>If your cell does not have network connectivity to external machines, or if
2727 the connectivity is not reliable, include the <B>-localclock</B> flag to
2728 the <B>runntp</B> command as indicated in the following
2729 instructions. The flag tells NTPD to rely on the machine's
2730 internal clock when all external time sources are inaccessible. The
2731 <B>runntp</B> command has other arguments that are possibly useful given
2732 your cell configuration; see the <I>IBM AFS Administration
2733 Reference</I>.
2734 <P>Choosing an appropriate external time source is important, but involves
2735 more considerations than can be discussed here. If you need help in
2736 selecting a source, contact the AFS Product Support group.
2737 <P>As the <B>runntp</B> process initializes NTPD, trace messages sometimes
2738 appear on the standard output stream. You can ignore them, but they can
2739 be informative if you understand how NTPD works.
2740 <OL TYPE=1>
2741 <P><LI>Issue the <B>bos create</B> command to start the <B>runntp</B>
2742 process. For the <VAR>host</VAR> argument, substitute the fully-qualified
2743 hostname or IP address of one or more machines outside the cell that are to
2744 serve as time sources. Separate each name with a space. 
2745 <UL>
2746 <P><LI>If your cell usually has reliable network connectivity to an external time
2747 source, use the following command: 
2748 <PRE>   
2749    # <B>./bos create </B> &lt;<VAR>machine&nbsp;name</VAR>>   <B>runntp simple</B>   \
2750         <B>"/usr/afs/bin/runntp</B> &lt;<VAR>host</VAR>>+<B>"  -cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2751    
2752 </PRE>
2753 <P><LI>If your cell does not have network connectivity to an external time
2754 source, use the following command: 
2755 <PRE>   
2756    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>runntp simple</B>  \ 
2757         <B>"/usr/afs/bin/runntp -localclock"</B>  <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2758    
2759 </PRE>
2760 <P><LI>If your cell has network connectivity to an external time source, but the
2761 network connection is frequently interrupted, use the following command:
2762 <P>
2763 <PRE>   
2764    # <B>./bos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> <B>runntp simple</B>  \ 
2765          <B>"/usr/afs/bin/runntp -localclock</B> &lt;<VAR>host</VAR>>+<B>"</B>  \
2766          <B>-cell</B> &lt;<VAR>cell&nbsp;name</VAR>>  <B>-noauth</B>
2767    
2768 </PRE>
2769 </UL>
2770 </OL>
2771 <A NAME="IDX2524"></A>
2772 <A NAME="IDX2525"></A>
2773 <A NAME="IDX2526"></A>
2774 <HR><H2><A NAME="HDRWQ63" HREF="auqbg002.htm#ToC_70">Overview: Installing Client Functionality</A></H2>
2775 <P>The machine you are installing is now an AFS file server
2776 machine, database server machine, system control machine, and binary
2777 distribution machine. Now make it a client machine by completing the
2778 following tasks:
2779 <OL TYPE=1>
2780 <P><LI>Define the machine's cell membership for client processes
2781 <P><LI>Create the client version of the <B>CellServDB</B> file
2782 <P><LI>Define cache location and size
2783 <P><LI>Create the <B>/afs</B> directory and start the Cache Manager
2784 </OL>
2785 <A NAME="IDX2527"></A>
2786 <A NAME="IDX2528"></A>
2787 <A NAME="IDX2529"></A>
2788 <HR><H2><A NAME="HDRWQ64" HREF="auqbg002.htm#ToC_71">Copying Client Files to the Local Disk</A></H2>
2789 <P>Before installing and configuring the AFS client, copy the
2790 necessary files from the AFS CD-ROM to the local <B>/usr/vice/etc</B>
2791 directory.
2792 <OL TYPE=1>
2793 <P><LI>On the local <B>/cdrom</B> directory, mount the AFS CD-ROM for this
2794 machine's system type, if it is not already. For instructions on
2795 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
2796 system documentation.
2797 <P><LI>Copy files to the local <B>/usr/vice/etc</B> directory.
2798 <P>This step places a copy of the AFS initialization script (and related
2799 files, if applicable) into the <B>/usr/vice/etc</B> directory. In
2800 the preceding instructions for incorporating AFS into the kernel, you copied
2801 the script directly to the operating system's conventional location for
2802 initialization files. When you incorporate AFS into the machine's
2803 startup sequence in a later step, you can choose to link the two files.
2804 <P>On some system types that use a dynamic kernel loader program, you
2805 previously copied AFS library files into a subdirectory of the
2806 <B>/usr/vice/etc</B> directory. On other system types, you copied
2807 the appropriate AFS library file directly to the directory where the operating
2808 system accesses it. The following commands do not copy or recopy the
2809 AFS library files into the <B>/usr/vice/etc</B> directory, because on some
2810 system types the library files consume a large amount of space. If you
2811 want to copy them, add the <B>-r</B> flag to the first <B>cp</B>
2812 command and skip the second <B>cp</B> command.
2813 <PRE>   
2814    # <B>cd /cdrom/</B><VAR>sysname</VAR><B>/root.client/usr/vice/etc</B>
2815    
2816    # <B>cp -p  *  /usr/vice/etc</B>
2817   
2818    # <B>cp -rp  C  /usr/vice/etc</B>
2819    
2820 </PRE>
2821 </OL>
2822 <A NAME="IDX2530"></A>
2823 <A NAME="IDX2531"></A>
2824 <A NAME="IDX2532"></A>
2825 <A NAME="IDX2533"></A>
2826 <A NAME="IDX2534"></A>
2827 <A NAME="IDX2535"></A>
2828 <A NAME="IDX2536"></A>
2829 <HR><H2><A NAME="HDRWQ65" HREF="auqbg002.htm#ToC_72">Defining Cell Membership for Client Processes</A></H2>
2830 <P>Every AFS client machine has a copy of the
2831 <B>/usr/vice/etc/ThisCell</B> file on its local disk to define the
2832 machine's cell membership for the AFS client programs that run on
2833 it. The <B>ThisCell</B> file you created in the
2834 <B>/usr/afs/etc</B> directory (in <A HREF="#HDRWQ51">Defining Cell Name and Membership for Server Processes</A>) is used only by server processes.
2835 <P>Among other functions, the <B>ThisCell</B> file on a client machine
2836 determines the following:
2837 <UL>
2838 <P><LI>The cell in which users authenticate when they log onto the machine,
2839 assuming it is using an AFS-modified login utility
2840 <P><LI>The cell in which users authenticate by default when they issue the
2841 <B>klog</B> command
2842 <P><LI>The cell membership of the AFS server processes that the AFS command
2843 interpreters on this machine contact by default
2844 </UL>
2845 <OL TYPE=1>
2846 <P><LI>Change to the <B>/usr/vice/etc</B> directory and remove the symbolic
2847 link created in <A HREF="#HDRWQ50">Starting the BOS Server</A>. 
2848 <PRE>      
2849    # <B>cd /usr/vice/etc</B>
2850    
2851    # <B>rm ThisCell</B>
2852    
2853 </PRE>
2854 <P><LI>Create the <B>ThisCell</B> file as a copy of the
2855 <B>/usr/afs/etc/ThisCell</B> file. Defining the same local cell for
2856 both server and client processes leads to the most consistent AFS
2857 performance.
2858 <PRE>   
2859    # <B>cp  /usr/afs/etc/ThisCell  ThisCell</B>
2860    
2861 </PRE>
2862 </OL>
2863 <A NAME="IDX2537"></A>
2864 <A NAME="IDX2538"></A>
2865 <A NAME="IDX2539"></A>
2866 <A NAME="IDX2540"></A>
2867 <A NAME="IDX2541"></A>
2868 <A NAME="IDX2542"></A>
2869 <A NAME="IDX2543"></A>
2870 <A NAME="IDX2544"></A>
2871 <HR><H2><A NAME="HDRWQ66" HREF="auqbg002.htm#ToC_73">Creating the Client CellServDB File</A></H2>
2872 <P>The <B>/usr/vice/etc/CellServDB</B> file on a client
2873 machine's local disk lists the database server machines for each cell
2874 that the local Cache Manager can contact. If there is no entry in the
2875 file for a cell, or if the list of database server machines is wrong, then
2876 users working on this machine cannot access the cell. The chapter in
2877 the <I>IBM AFS Administration Guide</I> about administering client
2878 machines explains how to maintain the file after creating it.
2879 <P>As the <B>afsd</B> program initializes the Cache Manager, it copies the
2880 contents of the <B>CellServDB</B> file into kernel memory. The
2881 Cache Manager always consults the list in kernel memory rather than the
2882 <B>CellServDB</B> file itself. Between reboots of the machine, you
2883 can use the <B>fs newcell</B> command to update the list in kernel memory
2884 directly; see the chapter in the <I>IBM AFS Administration Guide</I>
2885 about administering client machines.
2886 <P>The AFS distribution includes the file <B>CellServDB.sample</B>,
2887 and you have already copied it to the <B>/usr/vice/etc</B>
2888 directory. It includes an entry for all AFS cells that agreed to share
2889 their database server machine information at the time your AFS CD-ROM was
2890 created. The AFS Product Support group also maintains a copy of the
2891 file, updating it as necessary. If you are interested in participating
2892 in the global AFS namespace, it is a good policy to consult the file
2893 occasionally for updates. Ask the AFS Product Support group for a
2894 pointer to its location.
2895 <P>The <B>CellServDB.sample</B> file can be a good basis for the
2896 client <B>CellServDB</B> file, because all of the entries in it use the
2897 correct format. You can add or remove cell entries as you see
2898 fit. Later (in <A HREF="#HDRWQ91">Enabling Access to Foreign Cells</A>) you perform additional steps that enable the Cache
2899 Manager actually to reach the cells.
2900 <P>In this section, you add an entry for the local cell to the local
2901 <B>CellServDB</B> file. The current working directory is still
2902 <B>/usr/vice/etc</B>.
2903 <OL TYPE=1>
2904 <P><LI>Remove the symbolic link created in <A HREF="#HDRWQ50">Starting the BOS Server</A> and rename the <B>CellServDB.sample</B> file to
2905 <B>CellServDB</B>.
2906 <PRE>   
2907    # <B>rm CellServDB</B>
2908   
2909    # <B>mv CellServDB.sample CellServDB</B>
2910       
2911 </PRE>
2912 <P><LI>Add an entry for the local cell to the <B>CellServDB</B> file.
2913 One easy method is to use the <B>cat</B> command to append the contents of
2914 the server <B>/usr/afs/etc/CellServDB</B> file to the client
2915 version.
2916 <PRE>   
2917     # <B>cat  /usr/afs/etc/CellServDB >>  CellServDB</B>   
2918 </PRE> 
2919 <P>Then open the file in a text editor to verify that there are no blank
2920 lines, and that all entries have the required format, which is described just
2921 following. The ordering of cells is not significant, but it can be
2922 convenient to have the client machine's home cell at the top; move
2923 it there now if you wish.
2924 <UL>
2925 <P><LI>The first line of a cell's entry has the following format: 
2926 <PRE>   
2927    ><VAR>cell_name</VAR>      #<VAR>organization</VAR>   
2928 </PRE> 
2929 <P>where <VAR>cell_name</VAR> is the cell's complete Internet domain name
2930 (for example, <B>abc.com</B>) and <VAR>organization</VAR> is an
2931 optional field that follows any number of spaces and the number sign
2932 (<TT>#</TT>). By convention it names the organization to which the
2933 cell corresponds (for example, the ABC Corporation).
2934 <P><LI>After the first line comes a separate line for each database server
2935 machine. Each line has the following format: 
2936 <PRE>   
2937    <VAR>IP_address</VAR>   #<VAR>machine_name</VAR>   
2938 </PRE> 
2939 <P>where <VAR>IP_address</VAR> is the machine's IP address in dotted
2940 decimal format (for example, 192.12.105.3).
2941 Following any number of spaces and the number sign (<TT>#</TT>) is
2942 <VAR>machine_name</VAR>, the machine's fully-qualified hostname (for
2943 example, <B>db1.abc.com</B>). In this case, the
2944 number sign does not indicate a comment; <VAR>machine_name</VAR> is a
2945 required field.
2946 </UL>
2947 <P><LI>If the file includes cells that you do not wish users of this machine to
2948 access, remove their entries.
2949 </OL>
2950 <P>The following example shows entries for two cells, each of which has three
2951 database server machines:
2952 <P>
2953 <PRE>   
2954    >abc.com       #ABC Corporation (home cell)
2955    192.12.105.3      #db1.abc.com
2956    192.12.105.4      #db2.abc.com
2957    192.12.105.55     #db3.abc.com
2958    >stateu.edu    #State University cell
2959    138.255.68.93     #serverA.stateu.edu
2960    138.255.68.72     #serverB.stateu.edu
2961    138.255.33.154    #serverC.stateu.edu
2962    
2963 </PRE>
2964 <A NAME="IDX2545"></A>
2965 <A NAME="IDX2546"></A>
2966 <A NAME="IDX2547"></A>
2967 <A NAME="IDX2548"></A>
2968 <HR><H2><A NAME="HDRWQ67" HREF="auqbg002.htm#ToC_74">Configuring the Cache</A></H2>
2969 <P>The Cache Manager uses a cache on the local disk or in
2970 machine memory to store local copies of files fetched from file server
2971 machines. As the <B>afsd</B> program initializes the Cache Manager,
2972 it sets basic cache configuration parameters according to definitions in the
2973 local <B>/usr/vice/etc/cacheinfo</B> file. The file has three
2974 fields:
2975 <OL TYPE=1>
2976 <P><LI>The first field names the local directory on which to mount the AFS
2977 filespace. The conventional location is the <B>/afs</B>
2978 directory.
2979 <P><LI>The second field defines the local disk directory to use for the disk
2980 cache. The conventional location is the <B>/usr/vice/cache</B>
2981 directory, but you can specify an alternate directory if another partition has
2982 more space available. There must always be a value in this field, but
2983 the Cache Manager ignores it if the machine uses a memory cache.
2984 <P><LI>The third field specifies the number of kilobyte (1024 byte) blocks to
2985 allocate for the cache.
2986 </OL>
2987 <P>The values you define must meet the following requirements.
2988 <UL>
2989 <P><LI>On a machine using a disk cache, the Cache Manager expects always to be
2990 able to use the amount of space specified in the third field. Failure
2991 to meet this requirement can cause serious problems, some of which can be
2992 repaired only by rebooting. You must prevent non-AFS processes from
2993 filling up the cache partition. The simplest way is to devote a
2994 partition to the cache exclusively.
2995 <P><LI>The amount of space available in memory or on the partition housing the
2996 disk cache directory imposes an absolute limit on cache size.
2997 <P><LI>The maximum supported cache size can vary in each AFS release; see
2998 the <I>IBM AFS Release Notes</I> for the current version.
2999 <P><LI>For a disk cache, you cannot specify a value in the third field that
3000 exceeds 95% of the space available on the partition mounted at the directory
3001 named in the second field. If you violate this restriction, the
3002 <B>afsd</B> program exits without starting the Cache Manager and prints an
3003 appropriate message on the standard output stream. A value of 90% is
3004 more appropriate on most machines. Some operating systems (such as AIX)
3005 do not automatically reserve some space to prevent the partition from filling
3006 completely; for them, a smaller value (say, 80% to 85% of the space
3007 available) is more appropriate.
3008 <P><LI>For a memory cache, you must leave enough memory for other processes and
3009 applications to run. If you try to allocate more memory than is
3010 actually available, the <B>afsd</B> program exits without initializing the
3011 Cache Manager and produces the following message on the standard output
3012 stream. 
3013 <PRE>   
3014    afsd: memCache allocation failure at <VAR>number</VAR> KB
3015 </PRE> 
3016 <P>The <VAR>number</VAR> value is how many kilobytes were allocated just before
3017 the failure, and so indicates the approximate amount of memory
3018 available.
3019 </UL>
3020 <P>Within these hard limits, the factors that determine appropriate cache size
3021 include the number of users working on the machine, the size of the files with
3022 which they work, and (for a memory cache) the number of processes that run on
3023 the machine. The higher the demand from these factors, the larger the
3024 cache needs to be to maintain good performance.
3025 <P>Disk caches smaller than 10 MB do not generally perform well.
3026 Machines serving multiple users usually perform better with a cache of at
3027 least 60 to 70 MB. The point at which enlarging the cache further does
3028 not really improve performance depends on the factors mentioned previously and
3029 is difficult to predict.
3030 <P>Memory caches smaller than 1 MB are nonfunctional, and the performance of
3031 caches smaller than 5 MB is usually unsatisfactory. Suitable upper
3032 limits are similar to those for disk caches but are probably determined more
3033 by the demands on memory from other sources on the machine (number of users
3034 and processes). Machines running only a few processes possibly can use
3035 a smaller memory cache.
3036 <P><H3><A NAME="HDRWQ68" HREF="auqbg002.htm#ToC_75">Configuring a Disk Cache</A></H3>
3037 <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 are
3038 necessarily supported for use as the cache partition. For possible
3039 restrictions, see the <I>IBM AFS Release Notes</I>.
3040 </TD></TR></TABLE>
3041 <P>To configure the disk cache, perform the following procedures:
3042 <OL TYPE=1>
3043 <P><LI>Create the local directory to use for caching. The following
3044 instruction shows the conventional location,
3045 <B>/usr/vice/cache</B>. If you are devoting a partition exclusively
3046 to caching, as recommended, you must also configure it, make a file system on
3047 it, and mount it at the directory created in this step.
3048 <PRE>   
3049    # <B>mkdir /usr/vice/cache</B>
3050    
3051 </PRE>
3052 <P><LI>Create the <B>cacheinfo</B> file to define the configuration
3053 parameters discussed previously. The following instruction shows the
3054 standard mount location, <B>/afs</B>, and the standard cache location,
3055 <B>/usr/vice/cache</B>. 
3056 <PRE>   
3057    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > /usr/vice/etc/cacheinfo</B>
3058 </PRE> 
3059 <P>The following example defines the disk cache size as 50,000 KB: 
3060 <PRE>   
3061    # <B>echo "/afs:/usr/vice/cache:50000" > /usr/vice/etc/cacheinfo</B>
3062 </PRE>
3063 </OL>
3064 <P><H3><A NAME="HDRWQ69" HREF="auqbg002.htm#ToC_76">Configuring a Memory Cache</A></H3>
3065 <P>To configure a memory cache, create the <B>cacheinfo</B>
3066 file to define the configuration parameters discussed previously. The
3067 following instruction shows the standard mount location, <B>/afs</B>, and
3068 the standard cache location, <B>/usr/vice/cache</B> (though the exact
3069 value of the latter is irrelevant for a memory cache).
3070 <PRE>   
3071    # <B>echo "/afs:/usr/vice/cache:</B><VAR>#blocks</VAR><B>" > /usr/vice/etc/cacheinfo</B>
3072 </PRE>
3073 <P>The following example allocates 25,000 KB of memory for the cache.
3074 <PRE>   
3075    # <B>echo "/afs:/usr/vice/cache:25000" > /usr/vice/etc/cacheinfo</B>
3076 </PRE>
3077 <A NAME="IDX2549"></A>
3078 <A NAME="IDX2550"></A>
3079 <A NAME="IDX2551"></A>
3080 <A NAME="IDX2552"></A>
3081 <A NAME="IDX2553"></A>
3082 <A NAME="IDX2554"></A>
3083 <HR><H2><A NAME="HDRWQ70" HREF="auqbg002.htm#ToC_77">Configuring the Cache Manager</A></H2>
3084 <P>By convention, the Cache Manager mounts the AFS filespace on
3085 the local <B>/afs</B> directory. In this section you create that
3086 directory.
3087 <P>The <B>afsd</B> program sets several cache configuration parameters as
3088 it initializes the Cache Manager, and starts daemons that improve
3089 performance. You can use the <B>afsd</B> command's arguments
3090 to override the parameters' default values and to change the number of
3091 some of the daemons. Depending on the machine's cache size, its
3092 amount of RAM, and how many people work on it, you can sometimes improve Cache
3093 Manager performance by overriding the default values. For a discussion
3094 of all of the <B>afsd</B> command's arguments, see its reference page
3095 in the <I>IBM AFS Administration Reference</I>.
3096 <P>The <B>afsd</B> command line in the AFS initialization script on each
3097 system type includes an <TT>OPTIONS</TT> variable. You can use it to
3098 set nondefault values for the command's arguments, in one of the
3099 following ways:
3100 <UL>
3101 <P><LI>You can create an <B>afsd</B> <I>options file</I> that sets values
3102 for arguments to the <B>afsd</B> command. If the file exists, its
3103 contents are automatically substituted for the <TT>OPTIONS</TT> variable in
3104 the AFS initialization script. The AFS distribution for some system
3105 types includes an options file; on other system types, you must create
3106 it. 
3107 <P>You use two variables in the AFS initialization script to specify the path
3108 to the options file: <TT>CONFIG</TT> and <TT>AFSDOPT</TT>. On
3109 system types that define a conventional directory for configuration files, the
3110 <TT>CONFIG</TT> variable indicates it by default; otherwise, the
3111 variable indicates an appropriate location. 
3112 <P>List the desired <B>afsd</B> options on a single line in the options
3113 file, separating each option with one or more spaces. The following
3114 example sets the <B>-stat</B> argument to 2500, the <B>-daemons</B>
3115 argument to 4, and the <B>-volumes</B> argument to 100.
3116 <PRE>   
3117    -stat 2500 -daemons 4 -volumes 100   
3118    
3119 </PRE>
3120 <P><LI>On a machine that uses a disk cache, you can set the <TT>OPTIONS</TT>
3121 variable in the AFS initialization script to one of <TT>$SMALL</TT>,
3122 <TT>$MEDIUM</TT>, or <TT>$LARGE</TT>. The AFS initialization script
3123 uses one of these settings if the <B>afsd</B> options file named by the
3124 <TT>AFSDOPT</TT> variable does not exist. In the script as
3125 distributed, the <TT>OPTIONS</TT> variable is set to the value
3126 <TT>$MEDIUM</TT>.
3127 <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>,
3128 <TT>$MEDIUM</TT>, or <TT>$LARGE</TT> on a machine that uses a memory
3129 cache. The arguments it sets are appropriate only on a machine that
3130 uses a disk cache.
3131 </TD></TR></TABLE>
3132 <P>The script (or on some system types the <B>afsd</B> options file named
3133 by the <TT>AFSDOPT</TT> variable) defines a value for each of
3134 <TT>SMALL</TT>, <TT>MEDIUM</TT>, and <TT>LARGE</TT> that sets
3135 <B>afsd</B> command arguments appropriately for client machines of
3136 different sizes:
3137 <UL>
3138 <P><LI><TT>SMALL</TT> is suitable for a small machine that serves one or two
3139 users and has approximately 8 MB of RAM and a 20-MB cache
3140 <P><LI><TT>MEDIUM</TT> is suitable for a medium-sized machine that serves two
3141 to six users and has 16 MB of RAM and a 40-MB cache
3142 <P><LI><TT>LARGE</TT> is suitable for a large machine that serves five to ten
3143 users and has 32 MB of RAM and a 100-MB cache
3144 </UL>
3145 <P><LI>You can choose not to create an <B>afsd</B> options file and to set
3146 the <TT>OPTIONS</TT> variable in the initialization script to a null value
3147 rather than to the default <TT>$MEDIUM</TT> value. You can then
3148 either set arguments directly on the <B>afsd</B> command line in the
3149 script, or set no arguments (and so accept default values for all Cache
3150 Manager parameters).
3151 </UL>
3152 <OL TYPE=1>
3153 <P><LI>Create the local directory on which to mount the AFS filespace, by
3154 convention <B>/afs</B>. If the directory already exists, verify
3155 that it is empty. 
3156 <PRE>   
3157    # <B>mkdir /afs</B>
3158    
3159 </PRE>
3160 <P><LI>On AIX systems, add the following line to the <B>/etc/vfs</B>
3161 file. It enables AIX to unmount AFS correctly during shutdown.
3162 <PRE>   
3163    afs     4     none     none
3164    
3165 </PRE>
3166 <P><LI>On Linux systems, copy the <B>afsd</B> options file from the
3167 <B>/usr/vice/etc</B> directory to the <B>/etc/sysconfig</B> directory,
3168 removing the <B>.conf</B> extension as you do so.
3169 <PRE>   
3170    # <B>cp /usr/vice/etc/afs.conf /etc/sysconfig/afs</B>
3171    
3172 </PRE>
3173 <P><LI>Edit the machine's AFS initialization script or <B>afsd</B>
3174 options file to set appropriate values for <B>afsd</B> command
3175 parameters. The script resides in the indicated location on each system
3176 type:
3177 <UL>
3178 <P><LI>On AIX systems, <B>/etc/rc.afs</B>
3179 <P><LI>On Digital UNIX systems, <B>/sbin/init.d/afs</B>
3180 <P><LI>On HP-UX systems, <B>/sbin/init.d/afs</B>
3181 <P><LI>On IRIX systems, <B>/etc/init.d/afs</B>
3182 <P><LI>On Linux systems, <B>/etc/sysconfig/afs</B> (the <B>afsd</B>
3183 options file)
3184 <P><LI>On Solaris systems, <B>/etc/init.d/afs</B>
3185 </UL> 
3186 <P>Use one of the methods described in the introduction to this section to add
3187 the following flags to the <B>afsd</B> command line. If you intend
3188 for the machine to remain an AFS client, also set any performance-related
3189 arguments you wish.
3190 <UL>
3191 <P><LI>Add the <B>-nosettime</B> flag, because this is a file server machine
3192 that is also a client. The flag prevents the machine from picking a
3193 file server machine in the cell as its source for the correct time, which
3194 client machines normally do. File server machines instead use NTPD (as
3195 controlled by the <B>runntp</B> process) or another protocol to
3196 synchronize their clocks.
3197 <P><LI>Add the <B>-memcache</B> flag if the machine is to use a memory
3198 cache.
3199 <P><LI>Add the <B>-verbose</B> flag to display a trace of the Cache
3200 Manager's initialization on the standard output stream.
3201 </UL>
3202 </OL>
3203 <A NAME="IDX2555"></A>
3204 <A NAME="IDX2556"></A>
3205 <HR><H2><A NAME="HDRWQ71" HREF="auqbg002.htm#ToC_78">Overview: Completing the Installation of the First AFS Machine</A></H2>
3206 <P>The machine is now configured as an AFS file server and
3207 client machine. In this final phase of the installation, you initialize
3208 the Cache Manager and then create the upper levels of your AFS filespace,
3209 among other procedures. The procedures are:
3210 <OL TYPE=1>
3211 <P><LI>Verify that the initialization script works correctly, and incorporate it
3212 into the operating system's startup and shutdown sequence
3213 <P><LI>Create and mount top-level volumes
3214 <P><LI>Create and mount volumes to store system binaries in AFS
3215 <P><LI>Enable access to foreign cells
3216 <P><LI>Institute additional security measures
3217 <P><LI>Remove client functionality if desired
3218 </OL>
3219 <A NAME="IDX2557"></A>
3220 <A NAME="IDX2558"></A>
3221 <A NAME="IDX2559"></A>
3222 <A NAME="IDX2560"></A>
3223 <A NAME="IDX2561"></A>
3224 <HR><H2><A NAME="HDRWQ72" HREF="auqbg002.htm#ToC_79">Verifying the AFS Initialization Script</A></H2>
3225 <P>At this point you run the AFS initialization script to verify
3226 that it correctly invokes all of the necessary programs and AFS processes, and
3227 that they start correctly. The following are the relevant
3228 commands:
3229 <UL>
3230 <P><LI>The command that dynamically loads AFS modifications into the kernel, on
3231 some system types (not applicable if the kernel has AFS modifications built
3232 in)
3233 <P><LI>The <B>bosserver</B> command, which starts the BOS Server; it in
3234 turn starts the server processes for which you created entries in the
3235 <B>/usr/afs/local/BosConfig</B> file
3236 <P><LI>The <B>afsd</B> command, which initializes the Cache Manager
3237 </UL>
3238 <P>On system types that use a dynamic loader program, you must reboot the
3239 machine before running the initialization script, so that it can freshly load
3240 AFS modifications into the kernel.
3241 <P>If there are problems during the initialization, attempt to resolve
3242 them. The AFS Product Support group can provide assistance if
3243 necessary.
3244 <OL TYPE=1>
3245 <A NAME="IDX2562"></A>
3246 <A NAME="IDX2563"></A>
3247 <P><LI>Issue the <B>bos shutdown</B> command to shut down the AFS server
3248 processes other than the BOS Server. Include the <B>-wait</B> flag
3249 to delay return of the command shell prompt until all processes shut down
3250 completely. 
3251 <PRE>      
3252    # <B>/usr/afs/bin/bos shutdown</B> &lt;<VAR>machine&nbsp;name</VAR>> <B>-wait</B>
3253    
3254 </PRE>
3255 <P><LI>Issue the <B>ps</B> command to learn the <B>bosserver</B>
3256 process's process ID number (PID), and then the <B>kill</B> command
3257 to stop it.
3258 <PRE>   
3259    # <B>ps</B> <VAR>appropriate_ps_options</VAR> <B>| grep bosserver</B>
3260    
3261    # <B>kill</B> <VAR>bosserver_PID</VAR>
3262    
3263 </PRE>
3264 <P><LI>Issue the appropriate commands to run the AFS initialization script for
3265 this system type. 
3266 <A NAME="IDX2564"></A>
3267 <P><B>On AIX systems:</B> 
3268 <OL TYPE=a>
3269 <P><LI>Reboot the machine and log in again as the local superuser
3270 <B>root</B>. 
3271 <PRE>   
3272    # <B>cd /</B>
3273    
3274    # <B>shutdown -r now</B>
3275    
3276    login: <B>root</B>
3277    Password: <VAR>root_password</VAR>
3278    
3279 </PRE>
3280 <P><LI>Run the AFS initialization script. 
3281 <PRE>   
3282    # <B>/etc/rc.afs</B>
3283    
3284 </PRE>
3285 </OL> 
3286 <A NAME="IDX2565"></A>
3287 <P><B>On Digital UNIX systems:</B> 
3288 <OL TYPE=a>
3289 <P><LI>Run the AFS initialization script. 
3290 <PRE>   
3291    # <B>/sbin/init.d/afs  start</B>
3292    
3293 </PRE>
3294 </OL> 
3295 <A NAME="IDX2566"></A>
3296 <P><B>On HP-UX systems:</B> 
3297 <OL TYPE=a>
3298 <P><LI>Run the AFS initialization script. 
3299 <PRE>   
3300    # <B>/sbin/init.d/afs  start</B>
3301    
3302 </PRE>
3303 </OL> 
3304 <A NAME="IDX2567"></A>
3305 <A NAME="IDX2568"></A>
3306 <A NAME="IDX2569"></A>
3307 <A NAME="IDX2570"></A>
3308 <A NAME="IDX2571"></A>
3309 <A NAME="IDX2572"></A>
3310 <A NAME="IDX2573"></A>
3311 <P><B>On IRIX systems:</B> 
3312 <OL TYPE=a>
3313 <P><LI>If you have configured the machine to use the <B>ml</B> dynamic loader
3314 program, reboot the machine and log in again as the local superuser
3315 <B>root</B>. 
3316 <PRE>   
3317    # <B>cd /</B>
3318    
3319    # <B>shutdown -i6 -g0 -y</B>
3320    
3321    login: <B>root</B>
3322    Password: <VAR>root_password</VAR>
3323    
3324 </PRE>
3325 <P><LI>Issue the <B>chkconfig</B> command to activate the
3326 <B>afsserver</B> and <B>afsclient</B> configuration variables.
3327 <PRE>   
3328    # <B>/etc/chkconfig -f afsserver on</B>
3329    
3330    # <B>/etc/chkconfig -f afsclient on</B> 
3331    
3332 </PRE>
3333 <P><LI>Run the AFS initialization script. 
3334 <PRE>   
3335    # <B>/etc/init.d/afs  start</B>
3336    
3337 </PRE>
3338 </OL> 
3339 <A NAME="IDX2574"></A>
3340 <P><B>On Linux systems:</B> 
3341 <OL TYPE=a>
3342 <P><LI>Reboot the machine and log in again as the local superuser
3343 <B>root</B>. 
3344 <PRE>  
3345    # <B>cd /</B>
3346          
3347    # <B>shutdown -r now</B>
3348    
3349    login: <B>root</B>
3350    Password: <VAR>root_password</VAR>
3351    
3352 </PRE>
3353 <P><LI>Run the AFS initialization script. 
3354 <PRE>   
3355    # <B>/etc/rc.d/init.d/afs  start</B>
3356    
3357 </PRE>
3358 </OL> 
3359 <A NAME="IDX2575"></A>
3360 <P><B>On Solaris systems:</B> 
3361 <OL TYPE=a>
3362 <P><LI>Reboot the machine and log in again as the local superuser
3363 <B>root</B>. 
3364 <PRE>   
3365    # <B>cd /</B>
3366       
3367    # <B>shutdown -i6 -g0 -y</B>
3368    
3369    login: <B>root</B>
3370    Password: <VAR>root_password</VAR>
3371    
3372 </PRE>
3373 <P><LI>Run the AFS initialization script. 
3374 <PRE>   
3375    # <B>/etc/init.d/afs  start</B>
3376    
3377 </PRE>
3378 </OL>
3379 <A NAME="IDX2576"></A>
3380 <A NAME="IDX2577"></A>
3381 <P><LI>Wait for the message that confirms that Cache Manager initialization is
3382 complete. 
3383 <P>On machines that use a disk cache, it can take a while to initialize the
3384 Cache Manager for the first time, because the <B>afsd</B> program must
3385 create all of the <B>V</B><VAR>n</VAR> files in the cache directory.
3386 Subsequent Cache Manager initializations do not take nearly as long, because
3387 the <B>V</B><VAR>n</VAR> files already exist.
3388 <P>As a basic test of correct AFS functioning, issue the <B>klog</B>
3389 command to authenticate as the <B>admin</B> user. Provide the
3390 password (<VAR>admin_passwd</VAR>) you defined in <A HREF="#HDRWQ53">Initializing Cell Security</A>. 
3391 <PRE>   
3392    # <B>/usr/afs/bin/klog admin</B>
3393    Password:  <VAR>admin_passwd</VAR>
3394    
3395 </PRE>
3396 <A NAME="IDX2578"></A>
3397 <A NAME="IDX2579"></A>
3398 <P><LI>Issue the <B>tokens</B> command to verify that the <B>klog</B>
3399 command worked correctly. If it did, the output looks similar to the
3400 following example for the <B>abc.com</B> cell, where
3401 <B>admin</B>'s AFS UID is 1. If the output does not seem
3402 correct, resolve the problem. Changes to the AFS initialization script
3403 are possibly necessary. The AFS Product Support group can provide
3404 assistance as necessary. 
3405 <PRE>   
3406    # <B>/usr/afs/bin/tokens</B>
3407    Tokens held by the Cache Manager:
3408   
3409    User's (AFS ID 1) tokens for afs@abc.com [Expires May 22 11:52]
3410        --End of list--
3411    
3412 </PRE>
3413 <P><LI>Issue the <B>bos status</B> command to verify that the output for each
3414 process reads <TT>Currently running normally</TT>. 
3415 <PRE>   
3416    # <B>/usr/afs/bin/bos status</B> &lt;<VAR>machine&nbsp;name</VAR>>
3417    
3418 </PRE>
3419 <A NAME="IDX2580"></A>
3420 <A NAME="IDX2581"></A>
3421 <P><LI>Change directory to the local file system root (<B>/</B>) and issue
3422 the <B>fs checkvolumes</B> command.
3423 <PRE>   
3424    # <B>cd /</B>
3425    
3426    # <B>/usr/afs/bin/fs checkvolumes</B>
3427    
3428 </PRE>
3429 </OL>
3430 <A NAME="IDX2582"></A>
3431 <A NAME="IDX2583"></A>
3432 <A NAME="IDX2584"></A>
3433 <A NAME="IDX2585"></A>
3434 <HR><H2><A NAME="HDRWQ73" HREF="auqbg002.htm#ToC_80">Activating the AFS Initialization Script</A></H2>
3435 <P>Now that you have confirmed that the AFS initialization
3436 script works correctly, take the action necessary to have it run automatically
3437 at each reboot. Proceed to the instructions for your system type:
3438 <UL>
3439 <P><LI><A HREF="#HDRWQ74">Activating the Script on AIX Systems</A>
3440 <P><LI><A HREF="#HDRWQ75">Activating the Script on Digital UNIX Systems</A>
3441 <P><LI><A HREF="#HDRWQ76">Activating the Script on HP-UX Systems</A>
3442 <P><LI><A HREF="#HDRWQ77">Activating the Script on IRIX Systems</A>
3443 <P><LI><A HREF="#HDRWQ78">Activating the Script on Linux Systems</A>
3444 <P><LI><A HREF="#HDRWQ79">Activating the Script on Solaris Systems</A>
3445 </UL>
3446 <A NAME="IDX2586"></A>
3447 <P><H3><A NAME="HDRWQ74" HREF="auqbg002.htm#ToC_81">Activating the Script on AIX Systems</A></H3>
3448 <OL TYPE=1>
3449 <P><LI>Edit the AIX initialization file, <B>/etc/inittab</B>, adding the
3450 following line to invoke the AFS initialization script. Place it just
3451 after the line that starts NFS daemons.
3452 <PRE>   
3453    rcafs:2:wait:/etc/rc.afs > /dev/console 2>&amp;1 # Start AFS services
3454    
3455 </PRE>
3456 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3457 in both the <B>/usr/vice/etc</B> and <B>/etc</B> directories.
3458 If you want to avoid potential confusion by guaranteeing that they are always
3459 the same, create a link between them. You can always retrieve the
3460 original script from the AFS CD-ROM if necessary.
3461 <PRE>   
3462    # <B>cd  /usr/vice/etc</B>
3463    
3464    # <B>rm  rc.afs</B>
3465   
3466    # <B>ln -s  /etc/rc.afs</B>
3467    
3468 </PRE>
3469 <P><LI>Proceed to <A HREF="#HDRWQ80">Configuring the Top Levels of the AFS Filespace</A>.
3470 </OL>
3471 <A NAME="IDX2587"></A>
3472 <P><H3><A NAME="HDRWQ75" HREF="auqbg002.htm#ToC_82">Activating the Script on Digital UNIX Systems</A></H3>
3473 <OL TYPE=1>
3474 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
3475 <B>ln -s</B> command to create symbolic links that incorporate the AFS
3476 initialization script into the Digital UNIX startup and shutdown
3477 sequence.
3478 <PRE>   
3479    # <B>cd  /sbin/init.d</B>
3480    
3481    # <B>ln -s  ../init.d/afs  /sbin/rc3.d/S67afs</B>
3482    
3483    # <B>ln -s  ../init.d/afs  /sbin/rc0.d/K66afs</B>
3484    
3485 </PRE>
3486 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3487 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
3488 directories. If you want to avoid potential confusion by guaranteeing
3489 that they are always the same, create a link between them. You can
3490 always retrieve the original script from the AFS CD-ROM if necessary.
3491 <PRE>   
3492    # <B>cd /usr/vice/etc</B>
3493    
3494    # <B>rm afs.rc</B>
3495   
3496    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
3497    
3498 </PRE>
3499 <P><LI>Proceed to <A HREF="#HDRWQ80">Configuring the Top Levels of the AFS Filespace</A>.
3500 </OL>
3501 <A NAME="IDX2588"></A>
3502 <P><H3><A NAME="HDRWQ76" HREF="auqbg002.htm#ToC_83">Activating the Script on HP-UX Systems</A></H3>
3503 <OL TYPE=1>
3504 <P><LI>Change to the <B>/sbin/init.d</B> directory and issue the
3505 <B>ln -s</B> command to create symbolic links that incorporate the AFS
3506 initialization script into the HP-UX startup and shutdown sequence.
3507 <PRE>   
3508    # <B>cd /sbin/init.d</B>
3509    
3510    # <B>ln -s ../init.d/afs /sbin/rc2.d/S460afs</B>
3511   
3512    # <B>ln -s ../init.d/afs /sbin/rc2.d/K800afs</B>
3513    
3514 </PRE>
3515 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3516 in both the <B>/usr/vice/etc</B> and <B>/sbin/init.d</B>
3517 directories. If you want to avoid potential confusion by guaranteeing
3518 that they are always the same, create a link between them. You can
3519 always retrieve the original script from the AFS CD-ROM if necessary.
3520 <PRE>   
3521    # <B>cd /usr/vice/etc</B>
3522    
3523    # <B>rm afs.rc</B>
3524   
3525    # <B>ln -s  /sbin/init.d/afs  afs.rc</B>
3526    
3527 </PRE>
3528 <P><LI>Proceed to <A HREF="#HDRWQ80">Configuring the Top Levels of the AFS Filespace</A>.
3529 </OL>
3530 <A NAME="IDX2589"></A>
3531 <P><H3><A NAME="HDRWQ77" HREF="auqbg002.htm#ToC_84">Activating the Script on IRIX Systems</A></H3>
3532 <OL TYPE=1>
3533 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
3534 <B>ln -s</B> command to create symbolic links that incorporate the AFS
3535 initialization script into the IRIX startup and shutdown sequence.
3536 <PRE>   
3537    # <B>cd /etc/init.d</B>
3538    
3539    # <B>ln -s ../init.d/afs /etc/rc2.d/S35afs</B>
3540   
3541    # <B>ln -s ../init.d/afs /etc/rc0.d/K35afs</B>
3542    
3543 </PRE>
3544 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3545 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
3546 directories. If you want to avoid potential confusion by guaranteeing
3547 that they are always the same, create a link between them. You can
3548 always retrieve the original script from the AFS CD-ROM if necessary.
3549 <PRE>   
3550    # <B>cd /usr/vice/etc</B>
3551    
3552    # <B>rm afs.rc</B>
3553   
3554    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
3555    
3556 </PRE>
3557 <P><LI>Proceed to <A HREF="#HDRWQ80">Configuring the Top Levels of the AFS Filespace</A>.
3558 </OL>
3559 <A NAME="IDX2590"></A>
3560 <P><H3><A NAME="HDRWQ78" HREF="auqbg002.htm#ToC_85">Activating the Script on Linux Systems</A></H3>
3561 <OL TYPE=1>
3562 <P><LI>Issue the <B>chkconfig</B> command to activate the <B>afs</B>
3563 configuration variable. Based on the instruction in the AFS
3564 initialization file that begins with the string <TT>#chkconfig</TT>, the
3565 command automatically creates the symbolic links that incorporate the script
3566 into the Linux startup and shutdown sequence. 
3567 <PRE>   
3568    # <B>/sbin/chkconfig  --add afs</B>
3569    
3570 </PRE>
3571 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3572 in both the <B>/usr/vice/etc</B> and
3573 <B>/etc/rc.d/init.d</B> directories, and copies of the
3574 <B>afsd</B> options file in both the <B>/usr/vice/etc</B> and
3575 <B>/etc/sysconfig</B> directories. If you want to avoid potential
3576 confusion by guaranteeing that the two copies of each file are always the
3577 same, create a link between them. You can always retrieve the original
3578 script or options file from the AFS CD-ROM if necessary.
3579 <PRE>   
3580    # <B>cd /usr/vice/etc</B>
3581    
3582    # <B>rm afs.rc afs.conf</B>
3583     
3584    # <B>ln -s  /etc/rc.d/init.d/afs  afs.rc</B>
3585    
3586    # <B>ln -s  /etc/sysconfig/afs  afs.conf</B>
3587    
3588 </PRE>
3589 <P><LI>Proceed to <A HREF="#HDRWQ80">Configuring the Top Levels of the AFS Filespace</A>.
3590 </OL>
3591 <A NAME="IDX2591"></A>
3592 <P><H3><A NAME="HDRWQ79" HREF="auqbg002.htm#ToC_86">Activating the Script on Solaris Systems</A></H3>
3593 <OL TYPE=1>
3594 <P><LI>Change to the <B>/etc/init.d</B> directory and issue the
3595 <B>ln -s</B> command to create symbolic links that incorporate the AFS
3596 initialization script into the Solaris startup and shutdown sequence.
3597 <PRE>   
3598    # <B>cd /etc/init.d</B>
3599   
3600    # <B>ln -s ../init.d/afs /etc/rc3.d/S99afs</B>
3601   
3602    # <B>ln -s ../init.d/afs /etc/rc0.d/K66afs</B>
3603    
3604 </PRE>
3605 <P><LI><B>(Optional)</B> There are now copies of the AFS initialization file
3606 in both the <B>/usr/vice/etc</B> and <B>/etc/init.d</B>
3607 directories. If you want to avoid potential confusion by guaranteeing
3608 that they are always the same, create a link between them. You can
3609 always retrieve the original script from the AFS CD-ROM if necessary.
3610 <PRE>   
3611    # <B>cd /usr/vice/etc</B>
3612    
3613    # <B>rm afs.rc</B>
3614   
3615    # <B>ln -s  /etc/init.d/afs  afs.rc</B>
3616    
3617 </PRE>
3618 </OL>
3619 <A NAME="IDX2592"></A>
3620 <A NAME="IDX2593"></A>
3621 <HR><H2><A NAME="HDRWQ80" HREF="auqbg002.htm#ToC_87">Configuring the Top Levels of the AFS Filespace</A></H2>
3622 <P>If you have not previously run AFS in your cell, you now
3623 configure the top levels of your cell's AFS filespace. If you have
3624 run a previous version of AFS, the filespace is already configured.
3625 Proceed to <A HREF="#HDRWQ83">Storing AFS Binaries in AFS</A>.
3626 <A NAME="IDX2594"></A>
3627 <A NAME="IDX2595"></A>
3628 <A NAME="IDX2596"></A>
3629 <P>You created the <B>root.afs</B> volume in <A HREF="#HDRWQ60">Starting the File Server, Volume Server, and Salvager</A>, and the Cache Manager mounted it automatically on the local
3630 <B>/afs</B> directory when you ran the AFS initialization script in <A HREF="#HDRWQ72">Verifying the AFS Initialization Script</A>. You now set the access control list (ACL) on the
3631 <B>/afs</B> directory; creating, mounting, and setting the ACL are
3632 the three steps required when creating any volume.
3633 <P>After setting the ACL on the <B>root.afs</B> volume, you create
3634 your cell's <B>root.cell</B> volume, mount it as a
3635 subdirectory of the <B>/afs</B> directory, and set the ACL. Create
3636 both a read/write and a regular mount point for the
3637 <B>root.cell</B> volume. The read/write mount point enables
3638 you to access the read/write version of replicated volumes when
3639 necessary. Creating both mount points essentially creates separate
3640 read-only and read-write copies of your filespace, and enables the Cache
3641 Manager to traverse the filespace on a read-only path or read/write path as
3642 appropriate. For further discussion of these concepts, see the chapter
3643 in the <I>IBM AFS Administration Guide</I> about administering
3644 volumes.
3645 <A NAME="IDX2597"></A>
3646 <A NAME="IDX2598"></A>
3647 <A NAME="IDX2599"></A>
3648 <P>Then replicate both the <B>root.afs</B> and
3649 <B>root.cell</B> volumes. This is required if you want to
3650 replicate any other volumes in your cell, because all volumes mounted above a
3651 replicated volume must themselves be replicated in order for the Cache Manager
3652 to access the replica.
3653 <P>When the <B>root.afs</B> volume is replicated, the Cache Manager
3654 is programmed to access its read-only version
3655 (<B>root.afs.readonly</B>) whenever possible. To make
3656 changes to the contents of the <B>root.afs</B> volume (when, for
3657 example, you mount another cell's <B>root.cell</B> volume at
3658 the second level in your filespace), you must mount the
3659 <B>root.afs</B> volume temporarily, make the changes, release the
3660 volume and remove the temporary mount point. For instructions, see <A HREF="#HDRWQ91">Enabling Access to Foreign Cells</A>.
3661 <A NAME="IDX2600"></A>
3662 <A NAME="IDX2601"></A>
3663 <A NAME="IDX2602"></A>
3664 <A NAME="IDX2603"></A>
3665 <OL TYPE=1>
3666 <P><LI>Issue the <B>fs setacl</B> command to edit the ACL on the
3667 <B>/afs</B> directory. Add an entry that grants the <B>l</B>
3668 (<B>lookup</B>) and <B>r</B> (<B>read</B>) permissions to the
3669 <B>system:anyuser</B> group, to enable all AFS users who can reach
3670 your cell to traverse through the directory. If you prefer to enable
3671 access only to locally authenticated users, substitute the
3672 <B>system:authuser</B> group. 
3673 <P>Note that there is already an ACL entry that grants all seven access rights
3674 to the <B>system:administrators</B> group. It is a default
3675 entry that AFS places on every new volume's root directory. 
3676 <PRE>   
3677    # <B>/usr/afs/bin/fs setacl /afs system:anyuser rl</B>
3678    
3679 </PRE>
3680 <A NAME="IDX2604"></A>
3681 <A NAME="IDX2605"></A>
3682 <A NAME="IDX2606"></A>
3683 <A NAME="IDX2607"></A>
3684 <A NAME="IDX2608"></A>
3685 <A NAME="IDX2609"></A>
3686 <A NAME="IDX2610"></A>
3687 <P><LI><A NAME="LIWQ81"></A>Issue the <B>vos create</B> command to create the
3688 <B>root.cell</B> volume. Then issue the <B>fs
3689 mkmount</B> command to mount it as a subdirectory of the <B>/afs</B>
3690 directory, where it serves as the root of your cell's local AFS
3691 filespace. Finally, issue the <B>fs setacl</B> command to create an
3692 ACL entry for the <B>system:anyuser</B> group (or
3693 <B>system:authuser</B> group). 
3694 <P>For the <VAR>partition name</VAR> argument, substitute the name of one of the
3695 machine's AFS server partitions (such as <B>/vicepa</B>). For
3696 the <VAR>cellname</VAR> argument, substitute your cell's fully-qualified
3697 Internet domain name (such as <B>abc.com</B>).
3698 <PRE>   
3699    # <B>/usr/afs/bin/vos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <B>root.cell</B> 
3700    
3701    # <B>/usr/afs/bin/fs mkmount /afs/</B><VAR>cellname</VAR>  <B>root.cell</B>
3702    
3703    # <B>/usr/afs/bin/fs setacl /afs/</B><VAR>cellname</VAR>  <B>system:anyuser rl</B>
3704    
3705 </PRE>
3706 <A NAME="IDX2611"></A>
3707 <A NAME="IDX2612"></A>
3708 <A NAME="IDX2613"></A>
3709 <P><LI><B>(Optional)</B> Create a symbolic link to a shortened cell name, to
3710 reduce the length of pathnames for users in the local cell. For
3711 example, in the <B>abc.com</B> cell, <B>/afs/abc</B> is a link
3712 to <B>/afs/abc.com</B>. 
3713 <PRE>     
3714    # <B>cd /afs</B>
3715    
3716    # <B>ln -s</B>  <VAR>full_cellname</VAR>  <VAR>short_cellname</VAR>
3717    
3718 </PRE>
3719 <A NAME="IDX2614"></A>
3720 <A NAME="IDX2615"></A>
3721 <A NAME="IDX2616"></A>
3722 <P><LI>Issue the <B>fs mkmount</B> command to create a read/write mount point
3723 for the <B>root.cell</B> volume (you created a regular mount point
3724 in Step <A HREF="#LIWQ81">2</A>).
3725 <P>By convention, the name of a read/write mount point begins with a period,
3726 both to distinguish it from the regular mount point and to make it visible
3727 only when the <B>-a</B> flag is used on the <B>ls</B> command.
3728 <P>Change directory to <B>/usr/afs/bin</B> to make it easier to access the
3729 command binaries.
3730 <PRE>   
3731    # <B>cd /usr/afs/bin</B>
3732    
3733    # <B>./fs mkmount   /afs/.</B><VAR>cellname</VAR>   <B>root.cell -rw</B>
3734    
3735 </PRE>
3736 <A NAME="IDX2617"></A>
3737 <A NAME="IDX2618"></A>
3738 <A NAME="IDX2619"></A>
3739 <A NAME="IDX2620"></A>
3740 <P><LI><A NAME="LIWQ82"></A>Issue the <B>vos addsite</B> command to define a replication
3741 site for both the <B>root.afs</B> and <B>root.cell</B>
3742 volumes. In each case, substitute for the <VAR>partition name</VAR>
3743 argument the partition where the volume's read/write version
3744 resides. When you install additional file server machines, it is a good
3745 idea to create replication sites on them as well. 
3746 <PRE>   
3747    # <B>./vos addsite</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <B>root.afs</B>
3748    
3749    # <B>./vos addsite</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <B>root.cell</B>
3750    
3751 </PRE>
3752 <A NAME="IDX2621"></A>
3753 <A NAME="IDX2622"></A>
3754 <P><LI>Issue the <B>fs examine</B> command to verify that the Cache Manager
3755 can access both the <B>root.afs</B> and <B>root.cell</B>
3756 volumes, before you attempt to replicate them. The output lists each
3757 volume's name, volumeID number, quota, size, and the size of the
3758 partition that houses them. If you get an error message instead, do not
3759 continue before taking corrective action. 
3760 <PRE> 
3761    # <B>./fs examine /afs</B>
3762    
3763    # <B>./fs examine /afs/</B><VAR>cellname</VAR>
3764    
3765 </PRE>
3766 <A NAME="IDX2623"></A>
3767 <A NAME="IDX2624"></A>
3768 <A NAME="IDX2625"></A>
3769 <A NAME="IDX2626"></A>
3770 <P><LI>Issue the <B>vos release</B> command to release a replica of the
3771 <B>root.afs</B> and <B>root.cell</B> volumes to the
3772 sites you defined in Step <A HREF="#LIWQ82">5</A>. 
3773 <PRE>   
3774    # <B>./vos release root.afs</B>
3775    
3776    # <B>./vos release root.cell</B>
3777    
3778 </PRE>
3779 <A NAME="IDX2627"></A>
3780 <A NAME="IDX2628"></A>
3781 <P><LI>Issue the <B>fs checkvolumes</B> to force the Cache Manager to notice
3782 that you have released read-only versions of the volumes, then issue the
3783 <B>fs examine</B> command again. This time its output mentions the
3784 read-only version of the volumes (<B>root.afs.readonly</B>
3785 and <B>root.cell.readonly</B>) instead of the read/write
3786 versions, because of the Cache Manager's bias to access the read-only
3787 version of the <B>root.afs</B> volume if it exists. 
3788 <PRE>   
3789    # <B>./fs checkvolumes</B>
3790    
3791    # <B>./fs examine /afs</B>
3792    
3793    # <B>./fs examine /afs/</B><VAR>cellname</VAR>
3794    
3795 </PRE>
3796 </OL>
3797 <A NAME="IDX2629"></A>
3798 <A NAME="IDX2630"></A>
3799 <A NAME="IDX2631"></A>
3800 <A NAME="IDX2632"></A>
3801 <A NAME="IDX2633"></A>
3802 <A NAME="IDX2634"></A>
3803 <HR><H2><A NAME="HDRWQ83" HREF="auqbg002.htm#ToC_88">Storing AFS Binaries in AFS</A></H2>
3804 <P>In the conventional configuration, you make AFS client
3805 binaries and configuration files available in the subdirectories of the
3806 <B>/usr/afsws</B> directory on client machines (<B>afsws</B> is an
3807 acronym for <B>AFS
3808 w</B><I>ork</I><B>s</B><I>tation</I>). You can conserve
3809 local disk space by creating <B>/usr/afsws</B> as a link to an AFS volume
3810 that houses the AFS client binaries and configuration files for this system
3811 type.
3812 <P>In this section you create the necessary volumes. The conventional
3813 location to which to link <B>/usr/afsws</B> is
3814 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>,
3815 where <VAR>sysname</VAR> is the appropriate system type name as specified in the
3816 <I>IBM AFS Release Notes</I>. The instructions in <A HREF="auqbg007.htm#HDRWQ133">Installing Additional Client Machines</A> assume that you have followed the instructions in this
3817 section.
3818 <P>If you have previously run AFS in the cell, the volumes possibly already
3819 exist. If so, you need to perform Step <A HREF="#LIWQ86">8</A> only.
3820 <P>The current working directory is still <B>/usr/afs/bin</B>, which
3821 houses the <B>fs</B> and <B>vos</B> command suite binaries. In
3822 the following commands, it is possible you still need to specify the pathname
3823 to the commands, depending on how your PATH environment variable is
3824 set.
3825 <OL TYPE=1>
3826 <A NAME="IDX2635"></A>
3827 <A NAME="IDX2636"></A>
3828 <P><LI><A NAME="LIWQ84"></A>Issue the <B>vos create</B> command to create volumes for
3829 storing the AFS client binaries for this system type. The following
3830 example instruction creates volumes called <VAR>sysname</VAR>,
3831 <VAR>sysname</VAR>.<B>usr</B>, and
3832 <VAR>sysname</VAR>.<B>usr.afsws</B>. Refer to the
3833 <I>IBM AFS Release Notes</I> to learn the proper value of <VAR>sysname</VAR>
3834 for this system type. 
3835 <PRE>    
3836    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR>
3837      
3838    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR><B>.usr</B>
3839      
3840    # <B>vos create</B> &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>> <VAR>sysname</VAR><B>.usr.afsws</B>
3841     
3842 </PRE>
3843 <P><LI>Issue the <B>fs mkmount</B> command to mount the newly created
3844 volumes. Because the <B>root.cell</B> volume is replicated,
3845 you must precede the <I>cellname</I> part of the pathname with a period to
3846 specify the read/write mount point, as shown. Then issue the <B>vos
3847 release</B> command to release a new replica of the
3848 <B>root.cell</B> volume, and the <B>fs checkvolumes</B> command
3849 to force the local Cache Manager to access them. 
3850 <PRE>   
3851    # <B>fs mkmount -dir /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR> <B>-vol</B> <VAR>sysname</VAR>
3852    
3853    # <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>
3854    
3855    # <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>
3856    
3857    # <B>vos release root.cell</B>
3858    
3859    # <B>fs checkvolumes</B>
3860    
3861 </PRE>
3862 <P><LI>Issue the <B>fs setacl</B> command to grant the <B>l</B>
3863 (<B>lookup</B>) and <B>r</B> (<B>read</B>) permissions to the
3864 <B>system:anyuser</B> group on each new directory's ACL.
3865 <PRE>   
3866    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR>
3867    
3868    # <B>fs setacl  -dir  .  usr  usr/afsws  -acl  system:anyuser rl</B> 
3869    
3870 </PRE>
3871 <A NAME="IDX2637"></A>
3872 <A NAME="IDX2638"></A>
3873 <A NAME="IDX2639"></A>
3874 <A NAME="IDX2640"></A>
3875 <A NAME="IDX2641"></A>
3876 <P><LI><A NAME="LIWQ85"></A>Issue the <B>fs setquota</B> command to set an unlimited
3877 quota on the volume mounted at the
3878 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
3879 directory. This enables you to copy all of the appropriate files from
3880 the CD-ROM into the volume without exceeding the volume's quota. 
3881 <P>If you wish, you can set the volume's quota to a finite value after
3882 you complete the copying operation. At that point, use the <B>vos
3883 examine</B> command to determine how much space the volume is
3884 occupying. Then issue the <B>fs setquota</B> command to set a quota
3885 that is slightly larger. 
3886 <PRE>   
3887    # <B>fs setquota /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws  0</B>
3888    
3889 </PRE>
3890 <P><LI>Mount the AFS CD-ROM for this machine's system type on the local
3891 <B>/cdrom</B> directory, if it is not already. For instructions on
3892 mounting CD-ROMs (either locally or remotely via NFS), consult the operating
3893 system documentation.
3894 <A NAME="IDX2642"></A>
3895 <A NAME="IDX2643"></A>
3896 <A NAME="IDX2644"></A>
3897 <P><LI>Copy the contents of the indicated directories from the CD-ROM into the
3898 <B>/afs/</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
3899 directory.
3900 <PRE>   
3901    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
3902    
3903    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/bin  .</B>
3904    
3905    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/etc  .</B>
3906    
3907    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/include  .</B>
3908    
3909    # <B>cp -rp /cdrom/</B><VAR>sysname</VAR><B>/lib  .</B>
3910    
3911 </PRE>
3912 <A NAME="IDX2645"></A>
3913 <A NAME="IDX2646"></A>
3914 <P><LI>Issue the <B>fs setacl</B> command to set the ACL on each directory
3915 appropriately. To comply with the terms of your AFS License agreement,
3916 you must prevent unauthorized users from accessing AFS software. To
3917 enable access for locally authenticated users only, set the ACL on the
3918 <B>etc</B>, <B>include</B>, and <B>lib</B> subdirectories to grant
3919 the <B>l</B> and <B>r</B> permissions to the
3920 <B>system:authuser</B> group rather than the
3921 <B>system:anyuser</B> group. The
3922 <B>system:anyuser</B> group must retain the <B>l</B> and
3923 <B>r</B> permissions on the <B>bin</B> subdirectory to enable
3924 unauthenticated users to access the <B>klog</B> binary. To ensure
3925 that unauthorized users are not accessing AFS software, check periodically
3926 that the ACLs on these directories are set properly.
3927 <PRE>     
3928    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/</B><VAR>sysname</VAR><B>/usr/afsws</B>
3929    
3930    # <B>fs setacl  -dir etc include lib  -acl  system:authuser rl</B>  \
3931               <B>system:anyuser none</B>
3932    
3933 </PRE>
3934 <A NAME="IDX2647"></A>
3935 <A NAME="IDX2648"></A>
3936 <P><LI><A NAME="LIWQ86"></A>Create <B>/usr/afsws</B> on the local disk as a symbolic
3937 link to the directory
3938 <B>/afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws</B>. You can
3939 specify the actual system name instead of <B>@sys</B> if you wish, but the
3940 advantage of using <B>@sys</B> is that it remains valid if you upgrade
3941 this machine to a different system type. 
3942 <PRE>   
3943    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/@sys/usr/afsws  /usr/afsws</B>
3944    
3945 </PRE>
3946 <A NAME="IDX2649"></A>
3947 <A NAME="IDX2650"></A>
3948 <P><LI><B>(Optional)</B> To enable users to issue commands from the AFS
3949 suites (such as <B>fs</B>) without having to specify a pathname to their
3950 binaries, include the <B>/usr/afsws/bin</B> and <B>/usr/afsws/etc</B>
3951 directories in the PATH environment variable you define in each user's
3952 shell initialization file (such as <B>.cshrc</B>).
3953 </OL>
3954 <A NAME="IDX2651"></A>
3955 <A NAME="IDX2652"></A>
3956 <A NAME="IDX2653"></A>
3957 <A NAME="IDX2654"></A>
3958 <A NAME="IDX2655"></A>
3959 <A NAME="IDX2656"></A>
3960 <HR><H2><A NAME="HDRWQ87" HREF="auqbg002.htm#ToC_89">Storing AFS Documents in AFS</A></H2>
3961 <P>The AFS distribution includes the following documents:
3962 <UL>
3963 <P><LI><I>IBM AFS Release Notes</I>
3964 <P><LI><I>IBM AFS Quick Beginnings</I>
3965 <P><LI><I>IBM AFS User Guide</I>
3966 <P><LI><I>IBM AFS Administration Reference</I>
3967 <P><LI><I>IBM AFS Administration Guide</I>
3968 </UL>
3969 <P>The AFS CD-ROM for each system type has a top-level
3970 <B>Documentation</B> directory, with a subdirectory for each document
3971 format provided. The different formats are suitable for online viewing,
3972 printing, or both.
3973 <P>This section explains how to create and mount a volume to house the
3974 documents, making them available to your users. The recommended mount
3975 point for the volume is
3976 <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc</B>. If you wish, you
3977 can create a link to the mount point on each client machine's local disk,
3978 called <B>/usr/afsdoc</B>. Alternatively, you can create a link to
3979 the mount point in each user's home directory. You can also choose
3980 to permit users to access only certain documents (most probably, the <I>IBM
3981 AFS User Guide</I>) by creating different mount points or setting different
3982 ACLs on different document directories.
3983 <P>The current working directory is still <B>/usr/afs/bin</B>, which
3984 houses the <B>fs</B> and <B>vos</B> command suite binaries you use to
3985 create and mount volumes. In the following commands, it is possible you
3986 still need to specify the pathname to the commands, depending on how your PATH
3987 environment variable is set.
3988 <OL TYPE=1>
3989 <A NAME="IDX2657"></A>
3990 <A NAME="IDX2658"></A>
3991 <P><LI>Issue the <B>vos create</B> command to create a volume for storing the
3992 AFS documentation. Include the <B>-maxquota</B> argument to set an
3993 unlimited quota on the volume. This enables you to copy all of the
3994 appropriate files from the CD-ROM into the volume without exceeding the
3995 volume's quota. 
3996 <P>If you wish, you can set the volume's quota to a finite value after
3997 you complete the copying operations. At that point, use the <B>vos
3998 examine</B> command to determine how much space the volume is
3999 occupying. Then issue the <B>fs setquota</B> command to set a quota
4000 that is slightly larger. 
4001 <PRE>   
4002    # <B>vos create</B>  &lt;<VAR>machine&nbsp;name</VAR>> &lt;<VAR>partition&nbsp;name</VAR>>  <B>afsdoc  -maxquota  0</B> 
4003      
4004 </PRE>
4005 <P><LI>Issue the <B>fs mkmount</B> command to mount the new volume.
4006 Because the <B>root.cell</B> volume is replicated, you must precede
4007 the <I>cellname</I> with a period to specify the read/write mount point,
4008 as shown. Then issue the <B>vos release</B> command to release a
4009 new replica of the <B>root.cell</B> volume, and the <B>fs
4010 checkvolumes</B> command to force the local Cache Manager to access
4011 them. 
4012 <PRE>     
4013    # <B>fs mkmount -dir /afs/.</B><VAR>cellname</VAR><B>/afsdoc</B> <B>-vol</B> <B>afsdoc</B>
4014    
4015    # <B>vos release root.cell</B>
4016    
4017    # <B>fs checkvolumes</B>
4018     
4019 </PRE>
4020 <P><LI>Issue the <B>fs setacl</B> command to grant the <B>rl</B>
4021 permissions to the <B>system:anyuser</B> group on the new
4022 directory's ACL.
4023 <PRE>       
4024    # <B>cd /afs/.</B><VAR>cellname</VAR><B>/afsdoc</B> 
4025     
4026    # <B>fs setacl  .  system:anyuser rl</B> 
4027    
4028 </PRE>
4029 <P><LI>Mount the AFS CD-ROM for any system type on the local <B>/cdrom</B>
4030 directory, if one is not already. For instructions on mounting CD-ROMs
4031 (either locally or remotely via NFS), consult the operating system
4032 documentation.
4033 <A NAME="IDX2659"></A>
4034 <A NAME="IDX2660"></A>
4035 <A NAME="IDX2661"></A>
4036 <A NAME="IDX2662"></A>
4037 <A NAME="IDX2663"></A>
4038 <P><LI>Copy the AFS documents in one or more formats from the CD-ROM into
4039 subdirectories of the <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc</B>
4040 directory. Repeat the commands for each format. 
4041 <PRE>    
4042    # <B>mkdir</B> <VAR>format_name</VAR>
4043   
4044    # <B>cd</B> <VAR>format_name</VAR>
4045   
4046    # <B>cp -rp /cdrom/Documentation/</B><VAR>format</VAR>  <B>.</B>      
4047 </PRE> 
4048 <P>If you choose to store the HTML version of the documents in AFS, note that
4049 in addition to a subdirectory for each document there are several files with a
4050 <B>.gif</B> extension, which enable readers to move easily between
4051 sections of a document. The file called <B>index.htm</B> is
4052 an introductory HTML page that contains a hyperlink to each of the
4053 documents. For online viewing to work properly, these files must remain
4054 in the top-level HTML directory (the one named, for example,
4055 <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/html</B>).
4056 <P><LI><B>(Optional)</B> If you believe it is helpful to your users to access
4057 the AFS documents in a certain format via a local disk directory, create
4058 <B>/usr/afsdoc</B> on the local disk as a symbolic link to the
4059 documentation directory in AFS
4060 (<B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>).
4061 <P>
4062 <PRE>   
4063    # <B>ln -s /afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR> <B>/usr/afsdoc</B>
4064 </PRE> 
4065 <P>An alternative is to create a link in each user's home directory to
4066 the <B>/afs/</B><VAR>cellname</VAR><B>/afsdoc/</B><VAR>format_name</VAR>
4067 directory.
4068 </OL>
4069 <A NAME="IDX2664"></A>
4070 <A NAME="IDX2665"></A>
4071 <A NAME="IDX2666"></A>
4072 <A NAME="IDX2667"></A>
4073 <HR><H2><A NAME="HDRWQ88" HREF="auqbg002.htm#ToC_90">Storing System Binaries in AFS</A></H2>
4074 <P>You can also choose to store other system binaries in AFS
4075 volumes, such as the standard UNIX programs conventionally located in local
4076 disk directories such as <B>/etc</B>, <B>/bin</B>, and
4077 <B>/lib</B>. Storing such binaries in an AFS volume not only frees
4078 local disk space, but makes it easier to update binaries on all client
4079 machines.
4080 <P>The following is a suggested scheme for storing system binaries in
4081 AFS. It does not include instructions, but you can use the instructions
4082 in <A HREF="#HDRWQ83">Storing AFS Binaries in AFS</A> (which are for AFS-specific binaries) as a template.
4083 <P>Some files must remain on the local disk for use when AFS is inaccessible
4084 (during bootup and file server or network outages). The required
4085 binaries include the following:
4086 <UL>
4087 <P><LI>A text editor, network commands, and so on
4088 <P><LI>Files used during the boot sequence before the <B>afsd</B> program
4089 runs, such as initialization and configuration files, and binaries for
4090 commands that mount file systems
4091 <P><LI>Files used by dynamic kernel loader programs
4092 </UL>
4093 <P>In most cases, it is more secure to enable only locally authenticated users
4094 to access system binaries, by granting the <B>l</B> (<B>lookup</B>)
4095 and <B>r</B> (<B>read</B>) permissions to the
4096 <B>system:authuser</B> group on the ACLs of directories that contain
4097 the binaries. If users need to access a binary while unauthenticated,
4098 however, the ACL on its directory must grant those permissions to the
4099 <B>system:anyuser</B> group.
4100 <P>The following chart summarizes the suggested volume and mount point names
4101 for storing system binaries. It uses a separate volume for each
4102 directory. You already created a volume called <VAR>sysname</VAR> for
4103 this machine's system type when you followed the instructions in <A HREF="#HDRWQ83">Storing AFS Binaries in AFS</A>.
4104 <P>You can name volumes in any way you wish, and mount them at other locations
4105 than those suggested here. However, this scheme has several
4106 advantages:
4107 <UL>
4108 <P><LI>Volume names clearly identify volume contents
4109 <P><LI>Using the <VAR>sysname</VAR> prefix on every volume makes it is easy to back
4110 up all of the volumes together, because the AFS Backup System enables you to
4111 define sets of volumes based on a string included in all of their names
4112 <P><LI>It makes it easy to track related volumes, keeping them together on the
4113 same file server machine if desired
4114 <P><LI>There is a clear relationship between volume name and mount point name
4115 </UL>
4116 <BR>
4117 <TABLE WIDTH="100%">
4118 <TR>
4119 <TH ALIGN="LEFT" VALIGN="BOTTOM" WIDTH="30%"><B>Volume Name</B>
4120 </TH><TH ALIGN="LEFT" VALIGN="BOTTOM" WIDTH="70%"><B>Mount Point</B>
4121 </TH></TR><TR>
4122 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>
4123 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR>
4124 </TD></TR><TR>
4125 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>bin</B>
4126 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/bin</B>
4127 </TD></TR><TR>
4128 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>etc</B>
4129 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/etc</B>
4130 </TD></TR><TR>
4131 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr</B>
4132 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr</B>
4133 </TD></TR><TR>
4134 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.afsws</B>
4135 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/afsws</B>
4136 </TD></TR><TR>
4137 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.bin</B>
4138 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/bin</B>
4139 </TD></TR><TR>
4140 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.etc</B>
4141 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/etc</B>
4142 </TD></TR><TR>
4143 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.inc</B>
4144 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/include</B>
4145 </TD></TR><TR>
4146 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.lib</B>
4147 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/lib</B>
4148 </TD></TR><TR>
4149 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.loc</B>
4150 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/local</B>
4151 </TD></TR><TR>
4152 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.man</B>
4153 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/man</B>
4154 </TD></TR><TR>
4155 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="30%"><VAR>sysname</VAR>.<B>usr.sys</B>
4156 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="70%"><B>/afs/</B><VAR>cellname</VAR>/<VAR>sysname</VAR><B>/usr/sys</B>
4157 </TD></TR></TABLE>
4158 <P>
4159 <A NAME="IDX2668"></A>
4160 <A NAME="IDX2669"></A>
4161 <A NAME="IDX2670"></A>
4162 <A NAME="IDX2671"></A>
4163 <A NAME="IDX2672"></A>
4164 <A NAME="IDX2673"></A>
4165 <A NAME="IDX2674"></A>
4166 <HR><H2><A NAME="HDRWQ91" HREF="auqbg002.htm#ToC_91">Enabling Access to Foreign Cells</A></H2>
4167 <P>In this section you create a mount point in your AFS
4168 filespace for the <B>root.cell</B> volume of each foreign cell that
4169 you want to enable your users to access. For users working on a client
4170 machine to access the cell, there must in addition be an entry for it in the
4171 client machine's local <B>/usr/vice/etc/CellServDB</B> file.
4172 (The instructions in <A HREF="#HDRWQ66">Creating the Client CellServDB File</A> suggest that you use the <B>CellServDB.sample</B>
4173 file included in the AFS distribution as the basis for your cell's client
4174 <B>CellServDB</B> file. The sample file lists all of the cells that
4175 had agreed to participate in the AFS global namespace at the time your AFS
4176 CD-ROM was created. As mentioned in that section, the AFS Product
4177 Support group also maintains a copy of the file, updating it as
4178 necessary.)
4179 <P>The chapter in the <I>IBM AFS Administration Guide</I> about cell
4180 administration and configuration issues discusses the implications of
4181 participating in the global AFS namespace. The chapter about
4182 administering client machines explains how to maintain knowledge of foreign
4183 cells on client machines, and includes suggestions for maintaining a central
4184 version of the file in AFS.
4185 <OL TYPE=1>
4186 <P><LI>Issue the <B>fs mkmount</B> command to mount each foreign cell's
4187 <B>root.cell</B> volume on a directory called
4188 <B>/afs/</B><VAR>foreign_cell</VAR>. Because the
4189 <B>root.afs</B> volume is replicated, you must create a temporary
4190 mount point for its read/write version in a directory to which you have write
4191 access (such as your cell's <B>/afs/.</B><VAR>cellname</VAR>
4192 directory). Create the mount points, issue the <B>vos release</B>
4193 command to release new replicas to the read-only sites for the
4194 <B>root.afs</B> volume, and issue the <B>fs checkvolumes</B>
4195 command to force the local Cache Manager to access the new replica.
4196 <TABLE><TR><TD ALIGN="LEFT" VALIGN="TOP"><B>Note:</B></TD><TD ALIGN="LEFT" VALIGN="TOP">You need to issue the <B>fs mkmount</B> command only once for each
4197 foreign cell's <B>root.cell</B> volume. You do not need
4198 to repeat the command on each client machine.
4199 </TD></TR></TABLE> 
4200 <P>Substitute your cell's name for <VAR>cellname</VAR>. 
4201 <PRE>   
4202    # <B>cd /afs/.</B><VAR>cellname</VAR>
4203    
4204    # <B>/usr/afs/bin/fs  mkmount  temp  root.afs</B>   
4205 </PRE> 
4206 <P>Repeat the <B>fs mkmount</B> command for each foreign cell you wish to
4207 mount at this time.
4208 <PRE>   
4209    # <B>/usr/afs/bin/fs mkmount temp/</B><VAR>foreign_cell</VAR> <B>root.cell -c</B> <VAR>foreign_cell</VAR>   
4210 </PRE> 
4211 <P>Issue the following commands only once.
4212 <PRE>     
4213    # <B>/usr/afs/bin/fs rmmount temp</B>
4214    
4215    # <B>/usr/afs/bin/vos release root.afs</B>
4216    
4217    # <B>/usr/afs/bin/fs checkvolumes</B>
4218    
4219 </PRE>
4220 <A NAME="IDX2675"></A>
4221 <A NAME="IDX2676"></A>
4222 <P><LI><A NAME="LIWQ92"></A>If this machine is going to remain an AFS client after you
4223 complete the installation, verify that the local
4224 <B>/usr/vice/etc/CellServDB</B> file includes an entry for each foreign
4225 cell. 
4226 <P>For each cell that does not already have an entry, complete the following
4227 instructions:
4228 <OL TYPE=a>
4229 <P><LI>Create an entry in the <B>CellServDB</B> file. Be sure to
4230 comply with the formatting instructions in <A HREF="#HDRWQ66">Creating the Client CellServDB File</A>.
4231 <P><LI>Issue the <B>fs newcell</B> command to add an entry for the cell
4232 directly to the list that the Cache Manager maintains in kernel memory.
4233 Provide each database server machine's fully qualified hostname.
4234 <PRE>   
4235    # <B>/usr/afs/bin/fs newcell</B> &lt;<VAR>foreign_cell</VAR>> &lt;<VAR>dbserver1></VAR>    \
4236             [&lt;<VAR>dbserver2></VAR>] [&lt;<VAR>dbserver3></VAR>]
4237    
4238 </PRE>
4239 <P><LI>If you plan to maintain a central version of the <B>CellServDB</B>
4240 file (the conventional location is
4241 <B>/afs/</B><VAR>cellname</VAR><B>/common/etc/CellServDB</B>), create it
4242 now as a copy of the local <B>/usr/vice/etc/CellServDB</B> file.
4243 Verify that it includes an entry for each foreign cell you want your users to
4244 be able to access.
4245 <PRE>   
4246    # <B>mkdir common</B>
4247    
4248    # <B>mkdir common/etc</B>
4249    
4250    # <B>cp  /usr/vice/etc/CellServDB  common/etc</B>
4251    
4252    # <B>/usr/afs/bin/vos release root.cell</B>
4253    
4254 </PRE>
4255 </OL>
4256 <P><LI>Issue the <B>ls</B> command to verify that the new cell's mount
4257 point is visible in your filespace. The output lists the directories at
4258 the top level of the new cell's AFS filespace.
4259 <PRE>   
4260    # <B>ls /afs/</B><VAR>foreign_cell</VAR>
4261    
4262 </PRE>
4263 <P><LI>Please register your cell with the AFS Product Support group at this
4264 time. If you do not want to participate in the global AFS namespace,
4265 they list your cell in a private <B>CellServDB</B> file that is not
4266 available to other AFS cells.
4267 </OL>
4268 <A NAME="IDX2677"></A>
4269 <A NAME="IDX2678"></A>
4270 <A NAME="IDX2679"></A>
4271 <A NAME="IDX2680"></A>
4272 <A NAME="IDX2681"></A>
4273 <A NAME="IDX2682"></A>
4274 <HR><H2><A NAME="HDRWQ93" HREF="auqbg002.htm#ToC_92">Improving Cell Security</A></H2>
4275 <P>This section discusses ways to improve the security of AFS
4276 data in your cell. Also see the chapter in the <I>IBM AFS
4277 Administration Guide</I> about configuration and administration
4278 issues.
4279 <P><H3><A NAME="HDRWQ94" HREF="auqbg002.htm#ToC_93">Controlling root Access</A></H3>
4280 <P>As on any machine, it is important to prevent unauthorized
4281 users from logging onto an AFS server or client machine as the local superuser
4282 <B>root</B>. Take care to keep the <B>root</B> password
4283 secret.
4284 <P>The local <B>root</B> superuser does not have special access to AFS
4285 data through the Cache Manager (as members of the
4286 <B>system:administrators</B> group do), but it does have the
4287 following privileges:
4288 <UL>
4289 <P><LI>On client machines, the ability to issue commands from the <B>fs</B>
4290 suite that affect AFS performance
4291 <P><LI>On server machines, the ability to disable authorization checking, or to
4292 install rogue process binaries
4293 </UL>
4294 <P><H3><A NAME="HDRWQ95" HREF="auqbg002.htm#ToC_94">Controlling System Administrator Access</A></H3>
4295 <P>Following are suggestions for managing AFS administrative
4296 privilege:
4297 <UL>
4298 <P><LI>Create an administrative account for each administrator named something
4299 like <VAR>username</VAR><B>.admin</B>. Administrators
4300 authenticate under these identities only when performing administrative tasks,
4301 and destroy the administrative tokens immediately after finishing the task
4302 (either by issuing the <B>unlog</B> command, or the <B>klog</B>
4303 command to adopt their regular identity).
4304 <P><LI>Set a short ticket lifetime for administrator accounts (for example, 20
4305 minutes) by using the <B>-lifetime</B> argument to the <B>kas
4306 setfields</B> command, which is described in the <I>IBM AFS Administration
4307 Reference</I>. Do not however, use a short lifetime for users who
4308 issue long-running <B>backup</B> commands.
4309 <P><LI>Limit the number of system administrators in your cell, especially those
4310 who belong to the <B>system:administrators</B> group. By
4311 default they have all ACL rights on all directories in the local AFS
4312 filespace, and therefore must be trusted not to examine private files.
4313 <P><LI>Limit the use of system administrator accounts on machines in public
4314 areas. It is especially important not to leave such machines unattended
4315 without first destroying the administrative tokens.
4316 <P><LI>Limit the use by administrators of standard UNIX commands that make
4317 connections to remote machines (such as the <B>telnet</B> utility).
4318 Many of these programs send passwords across the network without encrypting
4319 them.
4320 </UL>
4321 <A NAME="IDX2683"></A>
4322 <A NAME="IDX2684"></A>
4323 <A NAME="IDX2685"></A>
4324 <P><H3><A NAME="HDRWQ96" HREF="auqbg002.htm#ToC_95">Protecting Sensitive AFS Directories</A></H3>
4325 <P>Some subdirectories of the <B>/usr/afs</B> directory
4326 contain files crucial to cell security. Unauthorized users must not
4327 read or write to these files because of the potential for misuse of the
4328 information they contain.
4329 <P>As the BOS Server initializes for the first time on a server machine, it
4330 creates several files and directories (as mentioned in <A HREF="#HDRWQ50">Starting the BOS Server</A>). It sets their owner to the local superuser
4331 <B>root</B> and sets their mode bits to enable writing by the owner
4332 only; in some cases, it also restricts reading.
4333 <P>At each subsequent restart, the BOS Server checks that the owner and mode
4334 bits on these files are still set appropriately. If they are not, it
4335 write the following message to the <B>/usr/afs/logs/BosLog</B> file:
4336 <PRE>   
4337    Bosserver reports inappropriate access on server directories   
4338 </PRE>
4339 <P>The BOS Server does not reset the mode bits, which enables you to set
4340 alternate values if you wish.
4341 <P>The following charts lists the expected mode bit settings. A
4342 question mark indicates that the BOS Server does not check that mode
4343 bit.
4344 <BR>
4345 <TABLE WIDTH="100%">
4346 <TR>
4347 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs</B>
4348 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwxr</TT>?<TT>xr-x</TT>
4349 </TD></TR><TR>
4350 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/backup</B>
4351 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwx</TT>???<TT>---</TT>
4352 </TD></TR><TR>
4353 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/bin</B>
4354 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwxr</TT>?<TT>xr-x</TT>
4355 </TD></TR><TR>
4356 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/db</B>
4357 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwx</TT>???<TT>---</TT>
4358 </TD></TR><TR>
4359 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/etc</B>
4360 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwxr</TT>?<TT>xr-x</TT>
4361 </TD></TR><TR>
4362 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/etc/KeyFile</B>
4363 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>-rw</TT>????<TT>---</TT>
4364 </TD></TR><TR>
4365 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/etc/UserList</B>
4366 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>-rw</TT>?????<TT>--</TT>
4367 </TD></TR><TR>
4368 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/local</B>
4369 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwx</TT>???<TT>---</TT>
4370 </TD></TR><TR>
4371 <TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><B>/usr/afs/logs</B>
4372 </TD><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="50%"><TT>drwxr</TT>?<TT>xr-x</TT>
4373 </TD></TR></TABLE>
4374 <P>
4375 <A NAME="IDX2686"></A>
4376 <A NAME="IDX2687"></A>
4377 <HR><H2><A NAME="HDRWQ98" HREF="auqbg002.htm#ToC_96">Removing Client Functionality</A></H2>
4378 <P>Follow the instructions in this section only if you do not
4379 wish this machine to remain an AFS client. Removing client
4380 functionality means that you cannot use this machine to access AFS
4381 files.
4382 <OL TYPE=1>
4383 <P><LI>Remove the files from the <B>/usr/vice/etc</B> directory. The
4384 command does not remove the directory for files used by the dynamic kernel
4385 loader program, if it exists on this system type. Those files are still
4386 needed on a server-only machine.
4387 <PRE>    
4388    # <B>cd /usr/vice/etc</B>
4389    
4390    # <B>rm  * </B>
4391    
4392    # <B>rm -rf  C</B>
4393    
4394 </PRE>
4395 <P><LI>Create symbolic links to the <B>ThisCell</B> and <B>CellServDB</B>
4396 files in the <B>/usr/afs/etc</B> directory. This makes it possible
4397 to issue commands from the AFS command suites (such as <B>bos</B> and
4398 <B>fs</B>) on this machine. 
4399 <PRE>     
4400    # <B>ln -s /usr/afs/etc/ThisCell ThisCell</B>
4401    
4402    # <B>ln -s /usr/afs/etc/CellServDB CellServDB</B>
4403    
4404 </PRE>
4405 <P><LI>On IRIX systems, issue the <B>chkconfig</B> command to deactivate the
4406 <B>afsclient</B> configuration variable. 
4407 <PRE>   
4408    # <B>/etc/chkconfig -f afsclient off</B>
4409    
4410 </PRE>
4411 <P><LI>Reboot the machine. Most system types use the <B>shutdown</B>
4412 command, but the appropriate options vary.
4413 <PRE>   
4414    # <B>cd /</B>
4415    
4416    # <B>shutdown</B> <VAR>appropriate_options</VAR>
4417    
4418 </PRE>
4419 </OL>
4420 <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="auqbg004.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="auqbg006.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> 
4421 <!-- Begin Footer Records  ========================================== -->
4422 <P><HR><B> 
4423 <br>&#169; <A HREF="http://www.ibm.com/">IBM Corporation 2000.</A>  All Rights Reserved 
4424 </B> 
4425 <!-- End Footer Records  ============================================ -->
4426 <A NAME="Bot_Of_Page"></A>
4427 </BODY></HTML>