ukernel-use-fsblkcnt-20090513
[openafs.git] / doc / xml / AdminGuide / a33047.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Managing the NFS/AFS Translator</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REL="HOME"
10 TITLE="AFS Administration Guide"
11 HREF="book1.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Managing Administrative Privilege"
14 HREF="c32432.html"><LINK
15 REL="NEXT"
16 TITLE="Using AFS Commands"
17 HREF="a33826.html"></HEAD
18 ><BODY
19 CLASS="appendix"
20 BGCOLOR="#FFFFFF"
21 TEXT="#000000"
22 LINK="#0000FF"
23 VLINK="#840084"
24 ALINK="#0000FF"
25 ><DIV
26 CLASS="NAVHEADER"
27 ><TABLE
28 SUMMARY="Header navigation table"
29 WIDTH="100%"
30 BORDER="0"
31 CELLPADDING="0"
32 CELLSPACING="0"
33 ><TR
34 ><TH
35 COLSPAN="3"
36 ALIGN="center"
37 >AFS Administration Guide: Version 3.6</TH
38 ></TR
39 ><TR
40 ><TD
41 WIDTH="10%"
42 ALIGN="left"
43 VALIGN="bottom"
44 ><A
45 HREF="c32432.html"
46 ACCESSKEY="P"
47 >Prev</A
48 ></TD
49 ><TD
50 WIDTH="80%"
51 ALIGN="center"
52 VALIGN="bottom"
53 ></TD
54 ><TD
55 WIDTH="10%"
56 ALIGN="right"
57 VALIGN="bottom"
58 ><A
59 HREF="a33826.html"
60 ACCESSKEY="N"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><DIV
69 CLASS="appendix"
70 ><H1
71 ><A
72 NAME="HDRWQ595"
73 ></A
74 >Appendix A. Managing the NFS/AFS Translator</H1
75 ><P
76 >The NFS(R)/AFS(R) Translator enables users working on NFS client machines to access, create and remove files stored in AFS.
77   This chapter assumes familiarity with both NFS and AFS.</P
78 ><DIV
79 CLASS="sect1"
80 ><H1
81 CLASS="sect1"
82 ><A
83 NAME="HDRWQ596"
84 >Summary of Instructions</A
85 ></H1
86 ><P
87 >This chapter explains how to perform the following tasks by using the indicated commands:</P
88 ><DIV
89 CLASS="informaltable"
90 ><A
91 NAME="AEN33058"
92 ></A
93 ><TABLE
94 BORDER="0"
95 FRAME="void"
96 CLASS="CALSTABLE"
97 ><COL
98 WIDTH="70*"><COL
99 WIDTH="30*"><TBODY
100 ><TR
101 ><TD
102 >Mount directory on translator machine</TD
103 ><TD
104 ><SPAN
105 CLASS="bold"
106 ><B
107 CLASS="emphasis"
108 >mount</B
109 ></SPAN
110 ></TD
111 ></TR
112 ><TR
113 ><TD
114 >Examine value of <SPAN
115 CLASS="bold"
116 ><B
117 CLASS="emphasis"
118 >@sys</B
119 ></SPAN
120 > variable</TD
121 ><TD
122 ><SPAN
123 CLASS="bold"
124 ><B
125 CLASS="emphasis"
126 >fs sysname</B
127 ></SPAN
128 ></TD
129 ></TR
130 ><TR
131 ><TD
132 >Enable/disable reexport of AFS, set other parameters</TD
133 ><TD
134 ><SPAN
135 CLASS="bold"
136 ><B
137 CLASS="emphasis"
138 >fs exportafs</B
139 ></SPAN
140 ></TD
141 ></TR
142 ><TR
143 ><TD
144 >Assign AFS tokens to user on NFS client machine</TD
145 ><TD
146 ><SPAN
147 CLASS="bold"
148 ><B
149 CLASS="emphasis"
150 >knfs</B
151 ></SPAN
152 ></TD
153 ></TR
154 ></TBODY
155 ></TABLE
156 ></DIV
157 ></DIV
158 ><DIV
159 CLASS="sect1"
160 ><H1
161 CLASS="sect1"
162 ><A
163 NAME="HDRWQ598"
164 >Overview</A
165 ></H1
166 ><P
167 >The NFS/AFS Translator enables users on NFS client machines to access the AFS filespace as if they are working on an AFS
168     client machine, which facilitates collaboration with other AFS users.</P
169 ><P
170 >An <SPAN
171 CLASS="emphasis"
172 ><I
173 CLASS="emphasis"
174 >NFS/AFS translator machine</I
175 ></SPAN
176 > (or simply <SPAN
177 CLASS="emphasis"
178 ><I
179 CLASS="emphasis"
180 >ltranslator machine</I
181 ></SPAN
182 >) is a machine
183     configured as both an AFS client and an NFS server: <UL
184 ><LI
185 ><P
186 >Its AFS client functionality enables it to access the AFS filespace. The Cache Manager requests and caches files
187           from AFS file server machines, and can even maintain tokens for NFS users, if you have made the configuration changes that
188           enable NFS users to authenticate with AFS.</P
189 ></LI
190 ><LI
191 ><P
192 >Its NFS server functionality makes it possible for the translator machine to export the AFS filespace to NFS client
193           machines. When a user on an NFS client machine mounts the translator machine's <SPAN
194 CLASS="bold"
195 ><B
196 CLASS="emphasis"
197 >/afs</B
198 ></SPAN
199 >
200           directory (or one of its subdirectories, if that feature is enabled), access to AFS is immediate and transparent. The NFS
201           client machine does not need to run any AFS software.</P
202 ></LI
203 ></UL
204 ></P
205 ><DIV
206 CLASS="sect2"
207 ><H2
208 CLASS="sect2"
209 ><A
210 NAME="HDRWQ599"
211 >Enabling Unauthenticated or Authenticated AFS Access</A
212 ></H2
213 ><P
214 >By configuring the translation environment appropriately, you can provide either unauthenticated or authenticated access
215       to AFS from NFS client machines. The sections of this chapter on configuring translator machines, NFS client machines, and AFS
216       user accounts explain how to configure the translation environment appropriately. <UL
217 ><LI
218 ><P
219 >If you configure the environment for unauthenticated access, the AFS File Server considers the NFS users to be the
220             user <SPAN
221 CLASS="bold"
222 ><B
223 CLASS="emphasis"
224 >anonymous</B
225 ></SPAN
226 >. They can access only those AFS files and directories for which the
227             access control list (ACL) extends the required permissions to the <SPAN
228 CLASS="bold"
229 ><B
230 CLASS="emphasis"
231 >system:anyuser</B
232 ></SPAN
233 > group.
234             They can issue only those AFS commands that do not require privilege, and then only if their NFS client machine is a
235             system type for which AFS binaries are available and accessible by the <SPAN
236 CLASS="bold"
237 ><B
238 CLASS="emphasis"
239 >system:anyuser</B
240 ></SPAN
241 >
242             group. Such users presumably do not have AFS accounts.</P
243 ></LI
244 ><LI
245 ><P
246 >If you configure the environment for authenticated access, you must create entries in the AFS Authentication and
247             Protection Databases for the NFS users. The authentication procedure they use depends on whether the NFS client machine
248             is a supported system type (one for which AFS binaries are available): <UL
249 ><LI
250 ><P
251 >If AFS binaries are available for the NFS client machine, NFS users can issue the <SPAN
252 CLASS="bold"
253 ><B
254 CLASS="emphasis"
255 >klog</B
256 ></SPAN
257 > command on the NFS client machine. They can access the filespace and issue AFS
258                   commands to the same extent as authenticated users working on AFS client machines.</P
259 ></LI
260 ><LI
261 ><P
262 >If AFS binaries are not available for the NFS client machine, NFS users must establish a connection with the
263                   translator machine (using the <SPAN
264 CLASS="bold"
265 ><B
266 CLASS="emphasis"
267 >telnet</B
268 ></SPAN
269 > utility, for example) and then issue the
270                   <SPAN
271 CLASS="bold"
272 ><B
273 CLASS="emphasis"
274 >klog</B
275 ></SPAN
276 > and <SPAN
277 CLASS="bold"
278 ><B
279 CLASS="emphasis"
280 >knfs</B
281 ></SPAN
282 > commands on the translator machine
283                   to make its Cache Manager use the tokens correctly while users work on the NFS client. They can access the AFS
284                   filespace as authenticated users, but cannot issue AFS commands. For instructions, see <A
285 HREF="a33047.html#HDRWQ612"
286 >Authenticating on Unsupported NFS Client Machines</A
287 >.</P
288 ></LI
289 ></UL
290 ></P
291 ></LI
292 ></UL
293 ></P
294 ></DIV
295 ><DIV
296 CLASS="sect2"
297 ><H2
298 CLASS="sect2"
299 ><A
300 NAME="HDRWQ600"
301 >Setting the AFSSERVER and AFSCONF Environment Variables</A
302 ></H2
303 ><P
304 >If you wish to enable your NFS users to issue AFS commands, you must define the AFSSERVER and AFSCONF environment
305       variables in their command shell. This section explains the variables' function and outlines the various methods for setting
306       them.</P
307 ><P
308 >Issuing AFS commands also requires that the NFS client machine is a supported system type (one for which AFS binaries
309       are available and accessible). Users working on NFS client machines of unsupported system types can access AFS as
310       authenticated users, but they cannot issue AFS commands. It is not necessary to define the AFSSERVER and AFSCONF variables for
311       such users. For instructions on using the <SPAN
312 CLASS="bold"
313 ><B
314 CLASS="emphasis"
315 >knfs</B
316 ></SPAN
317 > command to obtain authenticated access on
318       unsupported system types, see <A
319 HREF="a33047.html#HDRWQ612"
320 >Authenticating on Unsupported NFS Client Machines</A
321 >. </P
322 ><DIV
323 CLASS="sect3"
324 ><H3
325 CLASS="sect3"
326 ><A
327 NAME="HDRWQ601"
328 >The AFSSERVER Variable</A
329 ></H3
330 ><P
331 >The AFSSERVER variable designates the AFS client machine that performs two functions for NFS clients: <UL
332 ><LI
333 ><P
334 >It acts as the NFS client's <SPAN
335 CLASS="emphasis"
336 ><I
337 CLASS="emphasis"
338 >remote executor</I
339 ></SPAN
340 > by executing AFS-specific system calls on its
341               behalf, such as those invoked by the <SPAN
342 CLASS="bold"
343 ><B
344 CLASS="emphasis"
345 >klog</B
346 ></SPAN
347 > and <SPAN
348 CLASS="bold"
349 ><B
350 CLASS="emphasis"
351 >tokens</B
352 ></SPAN
353 >
354               commands and by many commands in the AFS suites.</P
355 ></LI
356 ><LI
357 ><P
358 >Its stores the tokens that NFS users obtain when they authenticate with AFS. This implies that the remote
359               executor machine and the translator machine must be the same if the user needs authenticated access to AFS.</P
360 ></LI
361 ></UL
362 ></P
363 ><P
364 >The choice of remote executor most directly affects commands that display or change Cache Manager configuration, such
365         as the <SPAN
366 CLASS="bold"
367 ><B
368 CLASS="emphasis"
369 >fs getcacheparms</B
370 ></SPAN
371 >, <SPAN
372 CLASS="bold"
373 ><B
374 CLASS="emphasis"
375 >fs getcellstatus</B
376 ></SPAN
377 >, and <SPAN
378 CLASS="bold"
379 ><B
380 CLASS="emphasis"
381 >fs setcell</B
382 ></SPAN
383 > commands. When issued on an NFS client, these commands affect the Cache Manager on the
384         designated remote executor machine. (Note, however, that several such commands require the issuer to be logged into the
385         remote executor's local file system as the local superuser <SPAN
386 CLASS="bold"
387 ><B
388 CLASS="emphasis"
389 >root</B
390 ></SPAN
391 >. The ability of NFS client
392         users to log in as <SPAN
393 CLASS="bold"
394 ><B
395 CLASS="emphasis"
396 >root</B
397 ></SPAN
398 > is controlled by NFS, not by the NFS/AFS Translator, so setting the
399         remote executor properly does not necessarily enable users on the NFS client to issue such commands.)</P
400 ><P
401 >The choice of remote executor is also relevant for AFS commands that do not concern Cache Manager configuration but
402         rather have the same result on every machine, such as the <SPAN
403 CLASS="bold"
404 ><B
405 CLASS="emphasis"
406 >fs</B
407 ></SPAN
408 > commands that display or set
409         ACLs and volume quota. These commands take an AFS path as one of their arguments. If the Cache Manager on the remote
410         executor machine mounts the AFS filespace at the <SPAN
411 CLASS="bold"
412 ><B
413 CLASS="emphasis"
414 >/afs</B
415 ></SPAN
416 > directory, as is conventional for AFS
417         clients, then the pathname specified on the NFS client must begin with the string <SPAN
418 CLASS="bold"
419 ><B
420 CLASS="emphasis"
421 >/afs</B
422 ></SPAN
423 > for
424         the Cache Manager to understand it. This implies that the remote executor must be the NFS client's primary translator
425         machine (the one whose <SPAN
426 CLASS="bold"
427 ><B
428 CLASS="emphasis"
429 >/afs</B
430 ></SPAN
431 > directory is mounted at <SPAN
432 CLASS="bold"
433 ><B
434 CLASS="emphasis"
435 >/afs</B
436 ></SPAN
437 >
438         on the NFS client).  </P
439 ></DIV
440 ><DIV
441 CLASS="sect3"
442 ><H3
443 CLASS="sect3"
444 ><A
445 NAME="Header_672"
446 >The AFSCONF Variable</A
447 ></H3
448 ><P
449 >The AFSCONF environment variable names the directory that houses the <SPAN
450 CLASS="bold"
451 ><B
452 CLASS="emphasis"
453 >ThisCell</B
454 ></SPAN
455 > and
456         <SPAN
457 CLASS="bold"
458 ><B
459 CLASS="emphasis"
460 >CellServDB</B
461 ></SPAN
462 > files to use when running AFS commands issued on the NFS client machine. As on
463         an AFS client, these files determine the default cell for command execution.</P
464 ><P
465 >For predictable performance, it is best that the files in the directory named by the AFSCONF variable match those in
466         the <SPAN
467 CLASS="bold"
468 ><B
469 CLASS="emphasis"
470 >/usr/vice/etc</B
471 ></SPAN
472 > directory on the translator machine. If your cell has an AFS directory
473         that serves as the central update source for files in the <SPAN
474 CLASS="bold"
475 ><B
476 CLASS="emphasis"
477 >/usr/vice/etc</B
478 ></SPAN
479 > directory, it is
480         simplest to set the AFSCONF variable to refer to it. In the conventional configuration, this directory is called <SPAN
481 CLASS="bold"
482 ><B
483 CLASS="emphasis"
484 >/afs/</B
485 ></SPAN
486 >cellname<SPAN
487 CLASS="bold"
488 ><B
489 CLASS="emphasis"
490 >/common/etc</B
491 ></SPAN
492 >.</P
493 ></DIV
494 ><DIV
495 CLASS="sect3"
496 ><H3
497 CLASS="sect3"
498 ><A
499 NAME="Header_673"
500 >Setting Values for the Variables</A
501 ></H3
502 ><P
503 >To learn the values of the AFSSERVER and AFSCONF variables, AFS command interpreters consult the following three
504         sources in sequence: <OL
505 TYPE="1"
506 ><LI
507 ><P
508 >The current command shell's environment variable definitions</P
509 ></LI
510 ><LI
511 ><P
512 >The <SPAN
513 CLASS="bold"
514 ><B
515 CLASS="emphasis"
516 >.AFSSERVER</B
517 ></SPAN
518 > or <SPAN
519 CLASS="bold"
520 ><B
521 CLASS="emphasis"
522 >.AFSCONF</B
523 ></SPAN
524 > file in the
525               issuer's home directory</P
526 ></LI
527 ><LI
528 ><P
529 >The <SPAN
530 CLASS="bold"
531 ><B
532 CLASS="emphasis"
533 >/.AFSSERVER</B
534 ></SPAN
535 > or <SPAN
536 CLASS="bold"
537 ><B
538 CLASS="emphasis"
539 >/.AFSCONF</B
540 ></SPAN
541 > file in the NFS
542               client machine's root (<SPAN
543 CLASS="emphasis"
544 ><I
545 CLASS="emphasis"
546 >/</I
547 ></SPAN
548 >) directory. If the client machine is diskless, its root directory can
549               reside on an NFS server machine.</P
550 ></LI
551 ></OL
552 ></P
553 ><P
554 >(Actually, before consulting these sources, the NFS client looks for the <SPAN
555 CLASS="bold"
556 ><B
557 CLASS="emphasis"
558 >CellServDB</B
559 ></SPAN
560 >
561         and <SPAN
562 CLASS="bold"
563 ><B
564 CLASS="emphasis"
565 >ThisCell</B
566 ></SPAN
567 > files in its own <SPAN
568 CLASS="bold"
569 ><B
570 CLASS="emphasis"
571 >/usr/vice/etc</B
572 ></SPAN
573 > directory. If
574         the directory exists, the NFS client does not use the value of the AFSCONF variable. However, the <SPAN
575 CLASS="bold"
576 ><B
577 CLASS="emphasis"
578 >/usr/vice/etc</B
579 ></SPAN
580 > directory usually exists only on AFS clients, not NFS clients.)</P
581 ><P
582 >As previously detailed, correct performance generally requires that the remote executor machine be the NFS client's
583         primary translator machine (the one whose <SPAN
584 CLASS="bold"
585 ><B
586 CLASS="emphasis"
587 >/afs</B
588 ></SPAN
589 > directory is mounted at the <SPAN
590 CLASS="bold"
591 ><B
592 CLASS="emphasis"
593 >/afs</B
594 ></SPAN
595 > directory on the NFS client). The requirement holds for all users accessing AFS from the NFS
596         client, so it is usually simplest to create the <SPAN
597 CLASS="bold"
598 ><B
599 CLASS="emphasis"
600 >.AFSSERVER</B
601 ></SPAN
602 > file in the NFS client's root
603         directory. The main reason to create the file in a user's home directory or to set the AFSSERVER environment variable in the
604         current command shell is that the user needs to switch to a different translator machine, perhaps because the original one
605         has become inaccessible.</P
606 ><P
607 >Similarly, it generally makes sense to create the <SPAN
608 CLASS="bold"
609 ><B
610 CLASS="emphasis"
611 >.AFSCONF</B
612 ></SPAN
613 > file in the NFS client's
614         root directory. Creating it in the user's home directory or setting the AFSCONF environment variable in the current command
615         shell is useful mostly when there is a reason to specify a different set of database server machines for the cell, perhaps
616         in a testing situation.</P
617 ></DIV
618 ></DIV
619 ><DIV
620 CLASS="sect2"
621 ><H2
622 CLASS="sect2"
623 ><A
624 NAME="HDRWQ602"
625 >Delayed Writes for Files Saved on NFS Client Machines</A
626 ></H2
627 ><P
628 >When an application running on an AFS client machine issues the <SPAN
629 CLASS="bold"
630 ><B
631 CLASS="emphasis"
632 >close</B
633 ></SPAN
634 > or <SPAN
635 CLASS="bold"
636 ><B
637 CLASS="emphasis"
638 >fsync</B
639 ></SPAN
640 > system call on a file, the Cache Manager by default performs a synchronous write of the data to
641       the File Server. (For further discussion, see <A
642 HREF="c667.html#HDRWQ33"
643 >AFS Implements Save on Close</A
644 > and <A
645 HREF="c21473.html#HDRWQ418"
646 >Enabling Asynchronous Writes</A
647 >.)</P
648 ><P
649 >To avoid degrading performance for the AFS users working on a translator machine, AFS does not perform synchronous
650       writes for applications running on the translator machine's NFS clients. Instead, one of the Cache Manager daemons (the
651       maintenance daemon) checks every 60 seconds for chunks in the cache that contain data saved on NFS clients, and writes their
652       contents to the File Server. This does not guarantee that data saved on NFS clients is written to the File Server within 60
653       seconds, but only that the <SPAN
654 CLASS="emphasis"
655 ><I
656 CLASS="emphasis"
657 >maintenance daemon</I
658 ></SPAN
659 > checks for and begins the write of data at that
660       interval.</P
661 ><P
662 >Furthermore, AFS always ignores the <SPAN
663 CLASS="bold"
664 ><B
665 CLASS="emphasis"
666 >fsync</B
667 ></SPAN
668 > system call as issued on an NFS client. The
669       call requires an immediate and possibly time-consuming response from the File Server, which potentially causes delays for
670       other AFS clients of the File Server. NFS version 3 automatically issues the <SPAN
671 CLASS="bold"
672 ><B
673 CLASS="emphasis"
674 >fsync</B
675 ></SPAN
676 > system
677       call directly after the <SPAN
678 CLASS="bold"
679 ><B
680 CLASS="emphasis"
681 >close</B
682 ></SPAN
683 > call, but the Cache Manager ignores it and handles the
684       operation just like a regular <SPAN
685 CLASS="bold"
686 ><B
687 CLASS="emphasis"
688 >close</B
689 ></SPAN
690 >.</P
691 ><P
692 >The delayed write mechanism means that there is usually a delay between the time when an NFS application issues the
693       <SPAN
694 CLASS="bold"
695 ><B
696 CLASS="emphasis"
697 >close</B
698 ></SPAN
699 > or <SPAN
700 CLASS="bold"
701 ><B
702 CLASS="emphasis"
703 >fsync</B
704 ></SPAN
705 > system call on a file and the time when the
706       changes are recorded at the File Server, which is when they become visible to users working on other AFS client machines
707       (either directly or on its NFS clients). The delay is likely to be longer than for files saved by users working directly on an
708       AFS client machine.</P
709 ><P
710 >The exact amount of delay is difficult to predict. The NFS protocol itself allows a standard delay before saved data
711       must be transferred from the NFS client to the NFS server (the translator machine). The modified data remains in the
712       translator machine's AFS client cache until the maintenance daemon's next scheduled check for such data, and it takes
713       additional time to transfer the data to the File Server. The maintenance daemon uses a single thread, so there can be
714       additional delay if it takes more than 60 seconds to write out all of the modified NFS data. That is, if the maintenance
715       daemon is still writing data at the time of the next scheduled check, it cannot notice any additional modified data until the
716       scheduled time after it completes the long write operation.</P
717 ><P
718 >The Cache Manager's response to the <SPAN
719 CLASS="bold"
720 ><B
721 CLASS="emphasis"
722 >write</B
723 ></SPAN
724 > system call is the same whether it is issued
725       on an AFS client machine or on an NFS client of a translator machine: it records the modifications in the local AFS client
726       cache only.</P
727 ></DIV
728 ></DIV
729 ><DIV
730 CLASS="sect1"
731 ><H1
732 CLASS="sect1"
733 ><A
734 NAME="HDRWQ603"
735 >Configuring NFS/AFS Translator Machines</A
736 ></H1
737 ><P
738 >To act as an NFS/AFS translator machine, a machine must configured as follows: <UL
739 ><LI
740 ><P
741 >It must be an AFS client. Many system types supported as AFS clients can be translator machines. To learn about
742           possible restrictions in a specific release of AFS, see the <SPAN
743 CLASS="emphasis"
744 ><I
745 CLASS="emphasis"
746 >IBM AFS Release Notes</I
747 ></SPAN
748 >.</P
749 ></LI
750 ><LI
751 ><P
752 >It must be an NFS server. The appropriate number of NFS server daemons (<SPAN
753 CLASS="bold"
754 ><B
755 CLASS="emphasis"
756 >nfsd</B
757 ></SPAN
758 > and
759           others) depends on the anticipated NFS client load.</P
760 ></LI
761 ><LI
762 ><P
763 >It must export the local directory on which the AFS filespace is mounted, <SPAN
764 CLASS="bold"
765 ><B
766 CLASS="emphasis"
767 >/afs</B
768 ></SPAN
769 > by
770           convention.</P
771 ></LI
772 ></UL
773 ></P
774 ><P
775 >If users on a translator machine's NFS clients are to issue AFS commands, the translator machine must also meet the
776     requirements discussed in <A
777 HREF="a33047.html#HDRRMTSYS"
778 >Configuring the Translator Machine to Accept AFS Commands</A
779 >.</P
780 ><DIV
781 CLASS="sect2"
782 ><H2
783 CLASS="sect2"
784 ><A
785 NAME="Header_676"
786 >Loading NFS and AFS Kernel Extensions</A
787 ></H2
788 ><P
789 >The AFS distribution for system types that can act as NFS/AFS Translator machines usually includes two versions of the
790       AFS kernel extensions file, one for machines where the kernel supports NFS server functionality, and one for machines not
791       using NFS (the latter AFS kernel extensions file generally has the string <SPAN
792 CLASS="bold"
793 ><B
794 CLASS="emphasis"
795 >nonfs</B
796 ></SPAN
797 > in its name).
798       A translator machine must use the NFS-enabled version of the AFS extensions file. On some system types, you select the
799       appropriate file by moving it to a certain location, whereas on other system types you set a variable that results in
800       automatic selection of the correct file. See the instructions in the <SPAN
801 CLASS="emphasis"
802 ><I
803 CLASS="emphasis"
804 >IBM AFS Quick Beginnings</I
805 ></SPAN
806 > for
807       incorporating AFS into the kernel on each system type.</P
808 ><P
809 >On many system types, NFS is included in the kernel by default, so it is not necessary to load NFS kernel extensions
810       explicitly. On system types where you must load NFS extensions, then in general you must load them before loading the AFS
811       kernel extensions. The <SPAN
812 CLASS="emphasis"
813 ><I
814 CLASS="emphasis"
815 >IBM AFS Quick Beginnings</I
816 ></SPAN
817 > describes how to incorporate the AFS initialization
818       script into a machine's startup sequence so that it is ordered correctly with respect to the script that handles NFS.</P
819 ><P
820 >In addition, the AFS extensions must be loaded into the kernel before the <SPAN
821 CLASS="bold"
822 ><B
823 CLASS="emphasis"
824 >afsd</B
825 ></SPAN
826 > command
827       runs. The AFS initialization script included in the AFS distribution correctly orders the loading and <SPAN
828 CLASS="bold"
829 ><B
830 CLASS="emphasis"
831 >afsd</B
832 ></SPAN
833 > commands.</P
834 ></DIV
835 ><DIV
836 CLASS="sect2"
837 ><H2
838 CLASS="sect2"
839 ><A
840 NAME="HDRRMTSYS"
841 >Configuring the Translator Machine to Accept AFS Commands</A
842 ></H2
843 ><P
844 >For users working on a translator machine's NFS clients to issue AFS commands, the <SPAN
845 CLASS="bold"
846 ><B
847 CLASS="emphasis"
848 >-rmtsys</B
849 ></SPAN
850 > flag must be included on the <SPAN
851 CLASS="bold"
852 ><B
853 CLASS="emphasis"
854 >afsd</B
855 ></SPAN
856 > command which initializes
857       the translator machine's Cache Manager. The flag starts an additional daemon (the <SPAN
858 CLASS="emphasis"
859 ><I
860 CLASS="emphasis"
861 >remote executor</I
862 ></SPAN
863 >
864       daemon), which executes AFS-specific system calls on behalf of NFS clients. For a discussion of the implications of NFS users
865       issuing AFS commands, see <A
866 HREF="a33047.html#HDRWQ600"
867 >Setting the AFSSERVER and AFSCONF Environment Variables</A
868 >.</P
869 ><P
870 >The instructions in the IBM AFS Quick Beginnings for configuring the Cache Manager explain how to add options such as
871       the <SPAN
872 CLASS="bold"
873 ><B
874 CLASS="emphasis"
875 >-rmtsys</B
876 ></SPAN
877 > flag to the <SPAN
878 CLASS="bold"
879 ><B
880 CLASS="emphasis"
881 >afsd</B
882 ></SPAN
883 > command in the AFS
884       initialization script. On many system types, it is simplest to list the flag on the line in the script that defines the
885       OPTIONS variable. The <SPAN
886 CLASS="emphasis"
887 ><I
888 CLASS="emphasis"
889 >remote executor daemon</I
890 ></SPAN
891 > does not consume many resources, so it is simplest to add it
892       to the <SPAN
893 CLASS="bold"
894 ><B
895 CLASS="emphasis"
896 >afsd</B
897 ></SPAN
898 > command on every translator machine, even if not all users on the machine's NFS
899       clients issue AFS commands.</P
900 ></DIV
901 ><DIV
902 CLASS="sect2"
903 ><H2
904 CLASS="sect2"
905 ><A
906 NAME="HDRWQ604"
907 >Controlling Optional Translator Features</A
908 ></H2
909 ><P
910 >After an AFS client machine is configured as a translator machine, it by default exports the AFS filespace to NFS
911       clients. You can disable and reenable translator functionality by using the <SPAN
912 CLASS="bold"
913 ><B
914 CLASS="emphasis"
915 >fs exportafs</B
916 ></SPAN
917 >
918       command's <SPAN
919 CLASS="bold"
920 ><B
921 CLASS="emphasis"
922 >-start</B
923 ></SPAN
924 > argument. The command's other arguments control other aspects of translator
925       behavior. <UL
926 ><LI
927 ><P
928 >The <SPAN
929 CLASS="bold"
930 ><B
931 CLASS="emphasis"
932 >-convert</B
933 ></SPAN
934 > argument controls whether the second and third (<SPAN
935 CLASS="bold"
936 ><B
937 CLASS="emphasis"
938 >group</B
939 ></SPAN
940 > and <SPAN
941 CLASS="bold"
942 ><B
943 CLASS="emphasis"
944 >other</B
945 ></SPAN
946 >) sets of UNIX mode bits on an AFS file or
947             directory being exported to NFS are set to match the first (<SPAN
948 CLASS="bold"
949 ><B
950 CLASS="emphasis"
951 >owner</B
952 ></SPAN
953 >) mode bits. By
954             default, the mode bits are set to match.</P
955 ><P
956 >Unlike AFS, NFS uses all three sets of mode bits when determining whether a user can read or write a file, even
957             one stored in AFS. Some AFS files possibly do not have any <SPAN
958 CLASS="bold"
959 ><B
960 CLASS="emphasis"
961 >group</B
962 ></SPAN
963 > and <SPAN
964 CLASS="bold"
965 ><B
966 CLASS="emphasis"
967 >other</B
968 ></SPAN
969 > mode bits turned on, because AFS uses only the <SPAN
970 CLASS="bold"
971 ><B
972 CLASS="emphasis"
973 >owner</B
974 ></SPAN
975 > bits
976             in combination with the ACL on the file's directory. If only the <SPAN
977 CLASS="bold"
978 ><B
979 CLASS="emphasis"
980 >owner</B
981 ></SPAN
982 > mode bits are
983             set, NFS allows only the file's owner of the file to read or write it. Setting the <SPAN
984 CLASS="bold"
985 ><B
986 CLASS="emphasis"
987 >-convert</B
988 ></SPAN
989 > argument to the value <SPAN
990 CLASS="bold"
991 ><B
992 CLASS="emphasis"
993 >on</B
994 ></SPAN
995 > enables other users to access
996             the file in the same manner as the owner. Setting the value <SPAN
997 CLASS="bold"
998 ><B
999 CLASS="emphasis"
1000 >off</B
1001 ></SPAN
1002 > preserves the mode bits
1003             set on the file as stored in AFS.</P
1004 ></LI
1005 ><LI
1006 ><P
1007 >The <SPAN
1008 CLASS="bold"
1009 ><B
1010 CLASS="emphasis"
1011 >-uidcheck</B
1012 ></SPAN
1013 > argument controls whether tokens can be assigned to an NFS user
1014             whose local UID on the NFS client machine differs from the local UID associated with the tokens on the translator
1015             machine. By default, this is possible.</P
1016 ><P
1017 >If you turn on UID checking by setting the value <SPAN
1018 CLASS="bold"
1019 ><B
1020 CLASS="emphasis"
1021 >on</B
1022 ></SPAN
1023 >, then tokens can be assigned
1024             only to an NFS user whose local UID matches the local UID of the process on the translator machine that is assigning the
1025             tokens. One consequence is that there is no point in including the <SPAN
1026 CLASS="bold"
1027 ><B
1028 CLASS="emphasis"
1029 >-id</B
1030 ></SPAN
1031 > argument to the
1032             <SPAN
1033 CLASS="bold"
1034 ><B
1035 CLASS="emphasis"
1036 >knfs</B
1037 ></SPAN
1038 > command: the only acceptable value is the local UID of the command's issuer, which
1039             is the value used when the <SPAN
1040 CLASS="bold"
1041 ><B
1042 CLASS="emphasis"
1043 >-id</B
1044 ></SPAN
1045 > argument is omitted. Requiring matching UIDs in this way
1046             is effective only when users have the same local UID on the translator machine as on NFS client machines. In that case,
1047             it guarantees that users assign their tokens only to their own NFS sessions. For instructions, see <A
1048 HREF="a33047.html#HDRWQ612"
1049 >Authenticating on Unsupported NFS Client Machines</A
1050 >.</P
1051 ><DIV
1052 CLASS="note"
1053 ><BLOCKQUOTE
1054 CLASS="note"
1055 ><P
1056 ><B
1057 >Note: </B
1058 >Turning on UID checking also prevents users on supported NFS clients from using the <SPAN
1059 CLASS="bold"
1060 ><B
1061 CLASS="emphasis"
1062 >klog</B
1063 ></SPAN
1064 > command to authenticate on the NFS client directly. They must authenticated and use the
1065               <SPAN
1066 CLASS="bold"
1067 ><B
1068 CLASS="emphasis"
1069 >knfs</B
1070 ></SPAN
1071 > command on the translator machine instead. This is because after the <SPAN
1072 CLASS="bold"
1073 ><B
1074 CLASS="emphasis"
1075 >klog</B
1076 ></SPAN
1077 > command interpreter obtains the token on the NFS client, it passes it to the Cache
1078               Manager's remote executor daemon, which makes the system call that stores the token in a credential structure on the
1079               translator machine. The remote executor generally runs as the local superuser <SPAN
1080 CLASS="bold"
1081 ><B
1082 CLASS="emphasis"
1083 >root</B
1084 ></SPAN
1085 >,
1086               so in most cases its local UID (normally zero) does not match the local UID of the user who issued the <SPAN
1087 CLASS="bold"
1088 ><B
1089 CLASS="emphasis"
1090 >klog</B
1091 ></SPAN
1092 > command on the NFS client machine.</P
1093 ><P
1094 >On the other hand, although using the <SPAN
1095 CLASS="bold"
1096 ><B
1097 CLASS="emphasis"
1098 >knfs</B
1099 ></SPAN
1100 > command instead of the <SPAN
1101 CLASS="bold"
1102 ><B
1103 CLASS="emphasis"
1104 >klog</B
1105 ></SPAN
1106 > command is possibly less convenient for users, it eliminates a security exposure: the
1107               <SPAN
1108 CLASS="bold"
1109 ><B
1110 CLASS="emphasis"
1111 >klog</B
1112 ></SPAN
1113 > command interpreter passes the token across the network to the remote executor
1114               daemon in clear text mode.</P
1115 ></BLOCKQUOTE
1116 ></DIV
1117 ><P
1118 >If you disable UID checking by assigning the value <SPAN
1119 CLASS="bold"
1120 ><B
1121 CLASS="emphasis"
1122 >off</B
1123 ></SPAN
1124 > , the issuer of the
1125             <SPAN
1126 CLASS="bold"
1127 ><B
1128 CLASS="emphasis"
1129 >knfs</B
1130 ></SPAN
1131 > command can assign tokens to a user who has a different local UID on the NFS
1132             client machine, such as the local superuser <SPAN
1133 CLASS="bold"
1134 ><B
1135 CLASS="emphasis"
1136 >root</B
1137 ></SPAN
1138 >. Indeed, more than one issuer of the
1139             <SPAN
1140 CLASS="bold"
1141 ><B
1142 CLASS="emphasis"
1143 >knfs</B
1144 ></SPAN
1145 > command can assign tokens to the same user on the NFS client machine. Each time a
1146             different user issues the <SPAN
1147 CLASS="bold"
1148 ><B
1149 CLASS="emphasis"
1150 >knfs</B
1151 ></SPAN
1152 > command with the same value for the <SPAN
1153 CLASS="bold"
1154 ><B
1155 CLASS="emphasis"
1156 >-id</B
1157 ></SPAN
1158 > argument, that user's tokens overwrite the existing ones. This can result in unpredictable
1159             access for the NFS user.</P
1160 ></LI
1161 ><LI
1162 ><P
1163 >The <SPAN
1164 CLASS="bold"
1165 ><B
1166 CLASS="emphasis"
1167 >-submounts</B
1168 ></SPAN
1169 > argument controls whether users on the NFS client can mount AFS
1170             directories other than the top-level <SPAN
1171 CLASS="bold"
1172 ><B
1173 CLASS="emphasis"
1174 >/afs</B
1175 ></SPAN
1176 > directory. By default, the translator does
1177             not permit these submounts.</P
1178 ><P
1179 >Submounts can be useful in a couple of circumstances. If, for example, NFS users need to access their own AFS home
1180             directories only, then creating a submount to it eliminates the need for them to know or enter the complete path.
1181             Similarly, you can use a submount to prevent users from accessing parts of the filespace higher in the AFS hierarchy
1182             than the submount.</P
1183 ></LI
1184 ></UL
1185 ></P
1186 ></DIV
1187 ><DIV
1188 CLASS="sect2"
1189 ><H2
1190 CLASS="sect2"
1191 ><A
1192 NAME="Header_679"
1193 >To configure an NFS/AFS translator machine</A
1194 ></H2
1195 ><P
1196 >The following instructions configure the translator to enable users to issue AFS commands. Omit Step <A
1197 HREF="a33047.html#LIWQ605"
1198 >6</A
1199 > if you do not want to enable this functionality. <OL
1200 TYPE="1"
1201 ><LI
1202 ><P
1203 >Become the local superuser <SPAN
1204 CLASS="bold"
1205 ><B
1206 CLASS="emphasis"
1207 >root</B
1208 ></SPAN
1209 > on the machine, if you are not already, by
1210             issuing the <SPAN
1211 CLASS="bold"
1212 ><B
1213 CLASS="emphasis"
1214 >su</B
1215 ></SPAN
1216 > command. <PRE
1217 CLASS="programlisting"
1218 >&#13;   % <SPAN
1219 CLASS="bold"
1220 ><B
1221 CLASS="emphasis"
1222 >su root</B
1223 ></SPAN
1224 >
1225    Password: &#60;<VAR
1226 CLASS="replaceable"
1227 >root_password</VAR
1228 >&#62;
1229 </PRE
1230 ></P
1231 ></LI
1232 ><LI
1233 ><P
1234 >Configure the NFS/AFS translator machine as an NFS server, if it is not already. Follow the instructions provided
1235             by your NFS supplier. The appropriate number of NFS server daemons (such as <SPAN
1236 CLASS="bold"
1237 ><B
1238 CLASS="emphasis"
1239 >nfsd</B
1240 ></SPAN
1241 >)
1242             depends on the number of potential NFS clients.</P
1243 ></LI
1244 ><LI
1245 ><P
1246 >Configure the NFS/AFS translator machine as an AFS client, if it is not already. For the most predictable
1247             performance, the translator machine's local copies of the <SPAN
1248 CLASS="bold"
1249 ><B
1250 CLASS="emphasis"
1251 >/usr/vice/etc/CellServDB</B
1252 ></SPAN
1253 > and
1254             <SPAN
1255 CLASS="bold"
1256 ><B
1257 CLASS="emphasis"
1258 >/usr/vice/etc/ThisCell</B
1259 ></SPAN
1260 > files must be the same as on other client machines in the
1261             cell.</P
1262 ></LI
1263 ><LI
1264 ><P
1265 ><A
1266 NAME="LITRANS-MOUNTFILE"
1267 ></A
1268 >Modify the file that controls mounting of directories on the machine by remote
1269             NFS clients. <UL
1270 ><LI
1271 ><P
1272 >On systems that use the <SPAN
1273 CLASS="bold"
1274 ><B
1275 CLASS="emphasis"
1276 >/etc/exports</B
1277 ></SPAN
1278 > file, edit it to enable export of the
1279                   <SPAN
1280 CLASS="bold"
1281 ><B
1282 CLASS="emphasis"
1283 >/afs</B
1284 ></SPAN
1285 > directory to NFS clients. You can list the names of specific NFS client
1286                   machines if you want to provide access only to certain users. For a description of the file's format, see the NFS
1287                   manual page for <SPAN
1288 CLASS="bold"
1289 ><B
1290 CLASS="emphasis"
1291 >exports(5)</B
1292 ></SPAN
1293 >.</P
1294 ><P
1295 >The following example enables any NFS client machine to mount the machine's <SPAN
1296 CLASS="bold"
1297 ><B
1298 CLASS="emphasis"
1299 >/afs</B
1300 ></SPAN
1301 >, <SPAN
1302 CLASS="bold"
1303 ><B
1304 CLASS="emphasis"
1305 >/usr</B
1306 ></SPAN
1307 >, and <SPAN
1308 CLASS="bold"
1309 ><B
1310 CLASS="emphasis"
1311 >/usr2</B
1312 ></SPAN
1313 >
1314                   directories:</P
1315 ><PRE
1316 CLASS="programlisting"
1317 >&#13;   /afs
1318    /usr
1319    /usr2
1320 </PRE
1321 ></LI
1322 ><LI
1323 ><P
1324 >On system types that use the <SPAN
1325 CLASS="bold"
1326 ><B
1327 CLASS="emphasis"
1328 >share</B
1329 ></SPAN
1330 > command, edit the <SPAN
1331 CLASS="bold"
1332 ><B
1333 CLASS="emphasis"
1334 >/etc/dfs/dfstab</B
1335 ></SPAN
1336 > file or equivalent to include <SPAN
1337 CLASS="bold"
1338 ><B
1339 CLASS="emphasis"
1340 >share</B
1341 ></SPAN
1342 >
1343                   instructions that enable remote mounts of the <SPAN
1344 CLASS="bold"
1345 ><B
1346 CLASS="emphasis"
1347 >/afs</B
1348 ></SPAN
1349 > directory. Most distributions
1350                   include the binary as <SPAN
1351 CLASS="bold"
1352 ><B
1353 CLASS="emphasis"
1354 >/usr/sbin/share</B
1355 ></SPAN
1356 >. The following example commands enable
1357                   remote mounts of the root ( <SPAN
1358 CLASS="bold"
1359 ><B
1360 CLASS="emphasis"
1361 >/</B
1362 ></SPAN
1363 > ) and <SPAN
1364 CLASS="bold"
1365 ><B
1366 CLASS="emphasis"
1367 >/afs</B
1368 ></SPAN
1369 >
1370                   directories. To verify the correct syntax, consult the manual page for the <SPAN
1371 CLASS="bold"
1372 ><B
1373 CLASS="emphasis"
1374 >share</B
1375 ></SPAN
1376 >
1377                   command. <PRE
1378 CLASS="programlisting"
1379 >&#13;   share -F nfs -o rw -d "root" /
1380    share -F nfs -o rw -d "afs gateway" /afs
1381 </PRE
1382 ></P
1383 ></LI
1384 ></UL
1385 ></P
1386 ></LI
1387 ><LI
1388 ><P
1389 >Edit the machine's AFS initialization file to invoke the standard UNIX <SPAN
1390 CLASS="bold"
1391 ><B
1392 CLASS="emphasis"
1393 >exportfs</B
1394 ></SPAN
1395 >
1396             command after the <SPAN
1397 CLASS="bold"
1398 ><B
1399 CLASS="emphasis"
1400 >afsd</B
1401 ></SPAN
1402 > program runs. On some system types, the modifications you made
1403             in Step <A
1404 HREF="a33047.html#LITRANS-MOUNTFILE"
1405 >4</A
1406 > are not enough to enable exporting the AFS filespace via the
1407             <SPAN
1408 CLASS="bold"
1409 ><B
1410 CLASS="emphasis"
1411 >/afs</B
1412 ></SPAN
1413 > directory, because the resulting configuration changes are made before the
1414             <SPAN
1415 CLASS="bold"
1416 ><B
1417 CLASS="emphasis"
1418 >afsd</B
1419 ></SPAN
1420 > program runs during machine initialization. Only after the <SPAN
1421 CLASS="bold"
1422 ><B
1423 CLASS="emphasis"
1424 >afsd</B
1425 ></SPAN
1426 > program runs does the <SPAN
1427 CLASS="bold"
1428 ><B
1429 CLASS="emphasis"
1430 >/afs</B
1431 ></SPAN
1432 > directory become the mount point
1433             for the entire AFS filespace; before, it is a local directory like any other.</P
1434 ></LI
1435 ><LI
1436 ><P
1437 ><A
1438 NAME="LIWQ605"
1439 ></A
1440 >Modify the <SPAN
1441 CLASS="bold"
1442 ><B
1443 CLASS="emphasis"
1444 >afsd</B
1445 ></SPAN
1446 > command in the AFS initialization file to
1447             include the <SPAN
1448 CLASS="bold"
1449 ><B
1450 CLASS="emphasis"
1451 >-rmtsys</B
1452 ></SPAN
1453 > flag.</P
1454 ><P
1455 >For system types other than IRIX, the instructions in the <SPAN
1456 CLASS="emphasis"
1457 ><I
1458 CLASS="emphasis"
1459 >IBM AFS Quick Beginnings</I
1460 ></SPAN
1461 > for
1462             configuring the Cache Manager explain how to add the <SPAN
1463 CLASS="bold"
1464 ><B
1465 CLASS="emphasis"
1466 >-rmtsys</B
1467 ></SPAN
1468 > flag, for example by
1469             adding it to the line in the script that defines the value for the OPTIONS variable.</P
1470 ><P
1471 >On IRIX systems, the AFS initialization script automatically adds the <SPAN
1472 CLASS="bold"
1473 ><B
1474 CLASS="emphasis"
1475 >-rmtsys</B
1476 ></SPAN
1477 >
1478             flag if you have activated the <SPAN
1479 CLASS="bold"
1480 ><B
1481 CLASS="emphasis"
1482 >afsxnfs</B
1483 ></SPAN
1484 > configuration variable as instructed in the
1485             <SPAN
1486 CLASS="emphasis"
1487 ><I
1488 CLASS="emphasis"
1489 >IBM AFS Quick Beginnings</I
1490 ></SPAN
1491 > instructions for incorporating AFS extensions into the kernel. If the
1492             variable is not already activated, issue the following command.</P
1493 ><PRE
1494 CLASS="programlisting"
1495 >&#13;   # <SPAN
1496 CLASS="bold"
1497 ><B
1498 CLASS="emphasis"
1499 >/etc/chkconfig  -f  afsxnfs  on</B
1500 ></SPAN
1501 >
1502 </PRE
1503 ></LI
1504 ><LI
1505 ><P
1506 ><SPAN
1507 CLASS="bold"
1508 ><B
1509 CLASS="emphasis"
1510 >(Optional)</B
1511 ></SPAN
1512 > Depending on the number of NFS clients you expect this machine to
1513             serve, it can be beneficial to add other arguments to the <SPAN
1514 CLASS="bold"
1515 ><B
1516 CLASS="emphasis"
1517 >afsd</B
1518 ></SPAN
1519 > command in the machine's
1520             initialization file, such as the <SPAN
1521 CLASS="bold"
1522 ><B
1523 CLASS="emphasis"
1524 >-daemons</B
1525 ></SPAN
1526 > argument to set the number of background
1527             daemons. See <A
1528 HREF="c21473.html"
1529 >Administering Client Machines and the Cache Manager</A
1530 > and the <SPAN
1531 CLASS="bold"
1532 ><B
1533 CLASS="emphasis"
1534 >afsd</B
1535 ></SPAN
1536 > reference page in the <SPAN
1537 CLASS="emphasis"
1538 ><I
1539 CLASS="emphasis"
1540 >IBM AFS Administration Reference</I
1541 ></SPAN
1542 >.</P
1543 ></LI
1544 ><LI
1545 ><P
1546 >Reboot the machine. On many system types, the appropriate command is <SPAN
1547 CLASS="bold"
1548 ><B
1549 CLASS="emphasis"
1550 >shutdown</B
1551 ></SPAN
1552 >;
1553             consult your operating system administrator's guide. <PRE
1554 CLASS="programlisting"
1555 >&#13;   # <SPAN
1556 CLASS="bold"
1557 ><B
1558 CLASS="emphasis"
1559 >shutdown</B
1560 ></SPAN
1561 > appropriate_options
1562 </PRE
1563 ></P
1564 ></LI
1565 ></OL
1566 ></P
1567 ></DIV
1568 ><DIV
1569 CLASS="sect2"
1570 ><H2
1571 CLASS="sect2"
1572 ><A
1573 NAME="Header_680"
1574 >To disable or enable Translator functionality, or set optional features</A
1575 ></H2
1576 ><OL
1577 TYPE="1"
1578 ><LI
1579 ><P
1580 >Become the local superuser <SPAN
1581 CLASS="bold"
1582 ><B
1583 CLASS="emphasis"
1584 >root</B
1585 ></SPAN
1586 > on the machine, if you are not already, by issuing
1587           the <SPAN
1588 CLASS="bold"
1589 ><B
1590 CLASS="emphasis"
1591 >su</B
1592 ></SPAN
1593 > command. <PRE
1594 CLASS="programlisting"
1595 >&#13;   % <SPAN
1596 CLASS="bold"
1597 ><B
1598 CLASS="emphasis"
1599 >su root</B
1600 ></SPAN
1601 >
1602    Password: &#60;<VAR
1603 CLASS="replaceable"
1604 >root_password</VAR
1605 >&#62;
1606 </PRE
1607 ></P
1608 ></LI
1609 ><LI
1610 ><P
1611 >Issue the <SPAN
1612 CLASS="bold"
1613 ><B
1614 CLASS="emphasis"
1615 >fs exportafs</B
1616 ></SPAN
1617 > command. <PRE
1618 CLASS="programlisting"
1619 >&#13;   # <SPAN
1620 CLASS="bold"
1621 ><B
1622 CLASS="emphasis"
1623 >fs exportafs nfs</B
1624 ></SPAN
1625 > [<SPAN
1626 CLASS="bold"
1627 ><B
1628 CLASS="emphasis"
1629 >-start</B
1630 ></SPAN
1631 > {<SPAN
1632 CLASS="bold"
1633 ><B
1634 CLASS="emphasis"
1635 >on</B
1636 ></SPAN
1637 > | <SPAN
1638 CLASS="bold"
1639 ><B
1640 CLASS="emphasis"
1641 >off</B
1642 ></SPAN
1643 >}} ]  [<SPAN
1644 CLASS="bold"
1645 ><B
1646 CLASS="emphasis"
1647 >-convert</B
1648 ></SPAN
1649 > {<SPAN
1650 CLASS="bold"
1651 ><B
1652 CLASS="emphasis"
1653 >on</B
1654 ></SPAN
1655 > | <SPAN
1656 CLASS="bold"
1657 ><B
1658 CLASS="emphasis"
1659 >off</B
1660 ></SPAN
1661 >}]   
1662                       [<SPAN
1663 CLASS="bold"
1664 ><B
1665 CLASS="emphasis"
1666 >-uidcheck</B
1667 ></SPAN
1668 > {<SPAN
1669 CLASS="bold"
1670 ><B
1671 CLASS="emphasis"
1672 >on</B
1673 ></SPAN
1674 > | <SPAN
1675 CLASS="bold"
1676 ><B
1677 CLASS="emphasis"
1678 >off</B
1679 ></SPAN
1680 >}]   [<SPAN
1681 CLASS="bold"
1682 ><B
1683 CLASS="emphasis"
1684 >-submounts</B
1685 ></SPAN
1686 > {<SPAN
1687 CLASS="bold"
1688 ><B
1689 CLASS="emphasis"
1690 >on</B
1691 ></SPAN
1692 > | <SPAN
1693 CLASS="bold"
1694 ><B
1695 CLASS="emphasis"
1696 >off</B
1697 ></SPAN
1698 >}] 
1699 </PRE
1700 > <DIV
1701 CLASS="variablelist"
1702 ><DL
1703 ><DT
1704 ><SPAN
1705 CLASS="bold"
1706 ><B
1707 CLASS="emphasis"
1708 >-start</B
1709 ></SPAN
1710 ></DT
1711 ><DD
1712 ><P
1713 >Disables translator functionality if the value is <SPAN
1714 CLASS="bold"
1715 ><B
1716 CLASS="emphasis"
1717 >off</B
1718 ></SPAN
1719 > or reenables it if
1720                   the value is <SPAN
1721 CLASS="bold"
1722 ><B
1723 CLASS="emphasis"
1724 >on</B
1725 ></SPAN
1726 >. Omit this argument to display the current setting of all
1727                   parameters set by this command.</P
1728 ></DD
1729 ><DT
1730 ><SPAN
1731 CLASS="bold"
1732 ><B
1733 CLASS="emphasis"
1734 >-convert</B
1735 ></SPAN
1736 ></DT
1737 ><DD
1738 ><P
1739 >Controls the setting of the second and third (<SPAN
1740 CLASS="bold"
1741 ><B
1742 CLASS="emphasis"
1743 >group</B
1744 ></SPAN
1745 > and <SPAN
1746 CLASS="bold"
1747 ><B
1748 CLASS="emphasis"
1749 >other</B
1750 ></SPAN
1751 >) sets of UNIX mode bits on AFS files and directories as exported to NFS clients If
1752                   the value is <SPAN
1753 CLASS="bold"
1754 ><B
1755 CLASS="emphasis"
1756 >on</B
1757 ></SPAN
1758 >, they are set to match the <SPAN
1759 CLASS="bold"
1760 ><B
1761 CLASS="emphasis"
1762 >owner</B
1763 ></SPAN
1764 >
1765                   mode bits. If the value is <SPAN
1766 CLASS="bold"
1767 ><B
1768 CLASS="emphasis"
1769 >off</B
1770 ></SPAN
1771 >, the bits are not changed. If this argument is
1772                   omitted, the default value is <SPAN
1773 CLASS="bold"
1774 ><B
1775 CLASS="emphasis"
1776 >on</B
1777 ></SPAN
1778 >.</P
1779 ></DD
1780 ><DT
1781 ><SPAN
1782 CLASS="bold"
1783 ><B
1784 CLASS="emphasis"
1785 >-uidcheck</B
1786 ></SPAN
1787 ></DT
1788 ><DD
1789 ><P
1790 >Controls whether issuers of the <SPAN
1791 CLASS="bold"
1792 ><B
1793 CLASS="emphasis"
1794 >knfs</B
1795 ></SPAN
1796 > command can specify a value for its
1797                   <SPAN
1798 CLASS="bold"
1799 ><B
1800 CLASS="emphasis"
1801 >-id</B
1802 ></SPAN
1803 > argument that does not match their AFS UID: <UL
1804 ><LI
1805 ><P
1806 >If the value is <SPAN
1807 CLASS="bold"
1808 ><B
1809 CLASS="emphasis"
1810 >on</B
1811 ></SPAN
1812 >, the value of the <SPAN
1813 CLASS="bold"
1814 ><B
1815 CLASS="emphasis"
1816 >-id</B
1817 ></SPAN
1818 > argument must match the issuer's local UID.</P
1819 ></LI
1820 ><LI
1821 ><P
1822 >If the value is <SPAN
1823 CLASS="bold"
1824 ><B
1825 CLASS="emphasis"
1826 >off</B
1827 ></SPAN
1828 >, the issuer of the <SPAN
1829 CLASS="bold"
1830 ><B
1831 CLASS="emphasis"
1832 >knfs</B
1833 ></SPAN
1834 > command can use the <SPAN
1835 CLASS="bold"
1836 ><B
1837 CLASS="emphasis"
1838 >-id</B
1839 ></SPAN
1840 > argument to assign
1841                         tokens to a user who has a different local UID on the NFS client machine, such as the local superuser
1842                         <SPAN
1843 CLASS="bold"
1844 ><B
1845 CLASS="emphasis"
1846 >root</B
1847 ></SPAN
1848 >.</P
1849 ></LI
1850 ></UL
1851 ></P
1852 ><P
1853 >If this argument is omitted, the default value is <SPAN
1854 CLASS="bold"
1855 ><B
1856 CLASS="emphasis"
1857 >off</B
1858 ></SPAN
1859 >.</P
1860 ></DD
1861 ><DT
1862 ><SPAN
1863 CLASS="bold"
1864 ><B
1865 CLASS="emphasis"
1866 >-submounts</B
1867 ></SPAN
1868 ></DT
1869 ><DD
1870 ><P
1871 >Controls whether the translator services an NFS mount of any directory in the AFS filespace other than the
1872                   top-level <SPAN
1873 CLASS="bold"
1874 ><B
1875 CLASS="emphasis"
1876 >/afs</B
1877 ></SPAN
1878 > directory. If the value is <SPAN
1879 CLASS="bold"
1880 ><B
1881 CLASS="emphasis"
1882 >on</B
1883 ></SPAN
1884 >,
1885                   such submounts are allowed. If the value is off, only mounts of the <SPAN
1886 CLASS="bold"
1887 ><B
1888 CLASS="emphasis"
1889 >/afs</B
1890 ></SPAN
1891 >
1892                   directory are allowed. If this argument is omitted, the default value is <SPAN
1893 CLASS="bold"
1894 ><B
1895 CLASS="emphasis"
1896 >off</B
1897 ></SPAN
1898 >.</P
1899 ></DD
1900 ></DL
1901 ></DIV
1902 ></P
1903 ></LI
1904 ></OL
1905 ></DIV
1906 ></DIV
1907 ><DIV
1908 CLASS="sect1"
1909 ><H1
1910 CLASS="sect1"
1911 ><A
1912 NAME="HDRWQ606"
1913 >Configuring NFS Client Machines</A
1914 ></H1
1915 ><P
1916 >Any NFS client machine that meets the following requirements can access files in AFS via the NFS/AFS Translator. It does
1917     not need to be configured as an AFS client machine. <UL
1918 ><LI
1919 ><P
1920 >It must NFS-mount a translator machine's <SPAN
1921 CLASS="bold"
1922 ><B
1923 CLASS="emphasis"
1924 >/afs</B
1925 ></SPAN
1926 > directory on a local directory, which
1927           by convention is also called <SPAN
1928 CLASS="bold"
1929 ><B
1930 CLASS="emphasis"
1931 >/afs</B
1932 ></SPAN
1933 >. The following instructions explain how to add the
1934           <SPAN
1935 CLASS="bold"
1936 ><B
1937 CLASS="emphasis"
1938 >mount</B
1939 ></SPAN
1940 > command to the NFS client machine's <SPAN
1941 CLASS="bold"
1942 ><B
1943 CLASS="emphasis"
1944 >/etc/fstab</B
1945 ></SPAN
1946 >
1947           file or equivalent.</P
1948 ><P
1949 >The directory on which an NFS client mounts the translator's machine's <SPAN
1950 CLASS="bold"
1951 ><B
1952 CLASS="emphasis"
1953 >/afs</B
1954 ></SPAN
1955 >
1956           directory can be called something other than <SPAN
1957 CLASS="bold"
1958 ><B
1959 CLASS="emphasis"
1960 >/afs</B
1961 ></SPAN
1962 >. For instance, to make it easy to
1963           switch to another translator machine if the original one becomes inaccessible, you can mount more than one translator
1964           machine's <SPAN
1965 CLASS="bold"
1966 ><B
1967 CLASS="emphasis"
1968 >/afs</B
1969 ></SPAN
1970 > directory. Name the mount <SPAN
1971 CLASS="bold"
1972 ><B
1973 CLASS="emphasis"
1974 >/afs</B
1975 ></SPAN
1976 > for the
1977           translator machine that you normally use, and use a different name the mount to each alternate translator machine.</P
1978 ><P
1979 >Mounting the AFS filespace on a directory other than <SPAN
1980 CLASS="bold"
1981 ><B
1982 CLASS="emphasis"
1983 >/afs</B
1984 ></SPAN
1985 > introduces another
1986           requirement, however: when issuing a command that takes an AFS pathname argument, you must specify the full pathname,
1987           starting with <SPAN
1988 CLASS="bold"
1989 ><B
1990 CLASS="emphasis"
1991 >/afs</B
1992 ></SPAN
1993 >, rather than a relative pathname. Suppose, for example, that a
1994           translator machine's AFS filespace is mounted at <SPAN
1995 CLASS="bold"
1996 ><B
1997 CLASS="emphasis"
1998 >/afs2</B
1999 ></SPAN
2000 > on an NFS client machine and you
2001           issue the following command to display the ACL on the current working directory, which is in AFS:</P
2002 ><PRE
2003 CLASS="programlisting"
2004 >&#13;   % <SPAN
2005 CLASS="bold"
2006 ><B
2007 CLASS="emphasis"
2008 >fs listacl .</B
2009 ></SPAN
2010 >
2011 </PRE
2012 ><P
2013 >The <SPAN
2014 CLASS="bold"
2015 ><B
2016 CLASS="emphasis"
2017 >fs</B
2018 ></SPAN
2019 > command interpreter on the NFS client must construct a full pathname before
2020           passing the request to the Cache Manager on the translator machine. The AFS filespace is mounted at <SPAN
2021 CLASS="bold"
2022 ><B
2023 CLASS="emphasis"
2024 >/afs2</B
2025 ></SPAN
2026 >, so the full pathname starts with that string. However, the Cache Manager on the translator
2027           cannot find a directory called <SPAN
2028 CLASS="bold"
2029 ><B
2030 CLASS="emphasis"
2031 >/afs2</B
2032 ></SPAN
2033 >, because its mount of the AFS filespace is called
2034           <SPAN
2035 CLASS="bold"
2036 ><B
2037 CLASS="emphasis"
2038 >/afs</B
2039 ></SPAN
2040 >. The command fails. To prevent the failure, provide the file's complete pathname,
2041           starting with the string <SPAN
2042 CLASS="bold"
2043 ><B
2044 CLASS="emphasis"
2045 >/afs</B
2046 ></SPAN
2047 >.</P
2048 ></LI
2049 ><LI
2050 ><P
2051 >It must run an appropriate number of NFS client <SPAN
2052 CLASS="bold"
2053 ><B
2054 CLASS="emphasis"
2055 >biod</B
2056 ></SPAN
2057 > daemons, which improve
2058           performance by handling pre-reading and delayed writing. Most NFS vendors recommend running four such daemons, and most
2059           NFS initialization scripts start them automatically. Consult your NFS documentation.</P
2060 ></LI
2061 ></UL
2062 ></P
2063 ><P
2064 >To enable users to issue AFS commands, the NFS client machine must also be a supported system type (one for which AFS
2065     binaries are available) and able to access the AFS command binaries. The <SPAN
2066 CLASS="emphasis"
2067 ><I
2068 CLASS="emphasis"
2069 >IBM AFS Release Notes</I
2070 ></SPAN
2071 > list the
2072     supported system types in each release.</P
2073 ><P
2074 >In addition, the AFSSERVER and AFSCONF environment variables must be set appropriately, as discussed in <A
2075 HREF="a33047.html#HDRWQ600"
2076 >Setting the AFSSERVER and AFSCONF Environment Variables</A
2077 >.</P
2078 ><DIV
2079 CLASS="sect2"
2080 ><H2
2081 CLASS="sect2"
2082 ><A
2083 NAME="Header_682"
2084 >To configure an NFS client machine to access AFS</A
2085 ></H2
2086 ><DIV
2087 CLASS="note"
2088 ><BLOCKQUOTE
2089 CLASS="note"
2090 ><P
2091 ><B
2092 >Note: </B
2093 >The following instructions enable NFS users to issue AFS commands. Omit Step <A
2094 HREF="a33047.html#LIWQ608"
2095 >5</A
2096 > and Step
2097         <A
2098 HREF="a33047.html#LIWQ609"
2099 >6</A
2100 > if you do not want to enable this functionality.</P
2101 ></BLOCKQUOTE
2102 ></DIV
2103 ><OL
2104 TYPE="1"
2105 ><LI
2106 ><P
2107 >Become the local superuser <SPAN
2108 CLASS="bold"
2109 ><B
2110 CLASS="emphasis"
2111 >root</B
2112 ></SPAN
2113 > on the machine, if you are not already, by issuing
2114           the <SPAN
2115 CLASS="bold"
2116 ><B
2117 CLASS="emphasis"
2118 >su</B
2119 ></SPAN
2120 > command. <PRE
2121 CLASS="programlisting"
2122 >&#13;   % <SPAN
2123 CLASS="bold"
2124 ><B
2125 CLASS="emphasis"
2126 >su root</B
2127 ></SPAN
2128 >
2129    Password: &#60;<VAR
2130 CLASS="replaceable"
2131 >root_password</VAR
2132 >&#62;
2133 </PRE
2134 ></P
2135 ></LI
2136 ><LI
2137 ><P
2138 >Configure the machine as an NFS client machine, if it is not already. Follow the instructions provided by your NFS
2139           vendor. The number of NFS client (<SPAN
2140 CLASS="bold"
2141 ><B
2142 CLASS="emphasis"
2143 >biod</B
2144 ></SPAN
2145 >) daemons needs to be appropriate for the expected
2146           load on this machine. The usual recommended number is four.</P
2147 ></LI
2148 ><LI
2149 ><P
2150 >Create a directory called <SPAN
2151 CLASS="bold"
2152 ><B
2153 CLASS="emphasis"
2154 >/afs</B
2155 ></SPAN
2156 > on the machine, if one does not already exist, to
2157           act as the mount point for the translator machine's <SPAN
2158 CLASS="bold"
2159 ><B
2160 CLASS="emphasis"
2161 >/afs</B
2162 ></SPAN
2163 > directory. It is acceptable to
2164           use other names, but doing so introduces the limitation discussed in the introduction to this section. <PRE
2165 CLASS="programlisting"
2166 >&#13;   # <SPAN
2167 CLASS="bold"
2168 ><B
2169 CLASS="emphasis"
2170 >mkdir /afs</B
2171 ></SPAN
2172 >
2173 </PRE
2174 >  </P
2175 ></LI
2176 ><LI
2177 ><P
2178 ><A
2179 NAME="LIWQ607"
2180 ></A
2181 >Modify the machine's file systems registry file (<SPAN
2182 CLASS="bold"
2183 ><B
2184 CLASS="emphasis"
2185 >/etc/fstab</B
2186 ></SPAN
2187 >
2188           or equivalent) to include a command that mounts a translator machine's <SPAN
2189 CLASS="bold"
2190 ><B
2191 CLASS="emphasis"
2192 >/afs</B
2193 ></SPAN
2194 > directory. To
2195           verify the correct syntax of the <SPAN
2196 CLASS="bold"
2197 ><B
2198 CLASS="emphasis"
2199 >mount</B
2200 ></SPAN
2201 > command, see the operating system's <SPAN
2202 CLASS="bold"
2203 ><B
2204 CLASS="emphasis"
2205 >mount(5)</B
2206 ></SPAN
2207 > manual page. The following example includes options that are appropriate on many system
2208           types. <PRE
2209 CLASS="programlisting"
2210 >&#13;   mount -o hard,intr,timeo=300  translator_machine:/afs /afs
2211 </PRE
2212 ></P
2213 ><P
2214 >where <DIV
2215 CLASS="variablelist"
2216 ><DL
2217 ><DT
2218 ><SAMP
2219 CLASS="computeroutput"
2220 >hard</SAMP
2221 ></DT
2222 ><DD
2223 ><P
2224 >Indicates that the NFS client retries NFS requests until the NFS server (translator machine) responds. When
2225                   using the translator, file operations possibly take longer than with NFS alone, because they must also pass
2226                   through the AFS Cache Manager. With a soft mount, a delayed response from the translator machine can cause the
2227                   request to abort. Many NFS versions use hard mounts by default; if your version does not, it is best to add this
2228                   option.</P
2229 ></DD
2230 ><DT
2231 ><SAMP
2232 CLASS="computeroutput"
2233 >intr</SAMP
2234 ></DT
2235 ><DD
2236 ><P
2237 >Enables the user to use a keyboard interrupt signal (such as &#60;<SPAN
2238 CLASS="bold"
2239 ><B
2240 CLASS="emphasis"
2241 >Ctrl-c</B
2242 ></SPAN
2243 >&#62;) to break the mount when the translator machine is inaccessible. Include this
2244                   option only if the <SAMP
2245 CLASS="computeroutput"
2246 >hard</SAMP
2247 > option is used, in which case the connection does not
2248                   automatically break off when a translator machine goes down.</P
2249 ></DD
2250 ><DT
2251 ><SAMP
2252 CLASS="computeroutput"
2253 >timeo</SAMP
2254 ></DT
2255 ><DD
2256 ><P
2257 >Sets the maximum time (in tenths of seconds) the translator can take to respond to the NFS client's request
2258                   before the client considers the request timed out. With a hard mount, setting this option to a high number like
2259                   300 reduces the number of error messages like the following, which are generated when the translator does not
2260                   respond immediately. <PRE
2261 CLASS="programlisting"
2262 >&#13;   NFS server translator is not responding, still trying
2263 </PRE
2264 ></P
2265 ><P
2266 >With a soft mount, it reduces the number of actual errors returned on timed-out requests.</P
2267 ></DD
2268 ><DT
2269 ><VAR
2270 CLASS="replaceable"
2271 >translator_machine</VAR
2272 ></DT
2273 ><DD
2274 ><P
2275 >Specifies the fully-qualified hostname of the translator machine whose <SPAN
2276 CLASS="bold"
2277 ><B
2278 CLASS="emphasis"
2279 >/afs</B
2280 ></SPAN
2281 >
2282                   directory is to be mounted on the client machine's <SPAN
2283 CLASS="bold"
2284 ><B
2285 CLASS="emphasis"
2286 >/afs</B
2287 ></SPAN
2288 > directory.</P
2289 ></DD
2290 ></DL
2291 ></DIV
2292 ></P
2293 ><DIV
2294 CLASS="note"
2295 ><BLOCKQUOTE
2296 CLASS="note"
2297 ><P
2298 ><B
2299 >Note: </B
2300 >To mount the translator machine's <SPAN
2301 CLASS="bold"
2302 ><B
2303 CLASS="emphasis"
2304 >/afs</B
2305 ></SPAN
2306 > directory onto a directory on the NFS
2307             client other than <SPAN
2308 CLASS="bold"
2309 ><B
2310 CLASS="emphasis"
2311 >/afs</B
2312 ></SPAN
2313 >, substitute the alternate directory name for the second instance
2314             of <SAMP
2315 CLASS="computeroutput"
2316 >/afs</SAMP
2317 > in the <SPAN
2318 CLASS="bold"
2319 ><B
2320 CLASS="emphasis"
2321 >mount</B
2322 ></SPAN
2323 > command.</P
2324 ></BLOCKQUOTE
2325 ></DIV
2326 ></LI
2327 ><LI
2328 ><P
2329 ><A
2330 NAME="LIWQ608"
2331 ></A
2332 ><SPAN
2333 CLASS="bold"
2334 ><B
2335 CLASS="emphasis"
2336 >(Optional)</B
2337 ></SPAN
2338 > If appropriate, create the <SPAN
2339 CLASS="bold"
2340 ><B
2341 CLASS="emphasis"
2342 >/.AFSSERVER</B
2343 ></SPAN
2344 > file to set the AFSSERVER environment variable for all of the machine's users. For a
2345           discussion, see <A
2346 HREF="a33047.html#HDRWQ600"
2347 >Setting the AFSSERVER and AFSCONF Environment Variables</A
2348 >. Place a single
2349           line in the file, specifying the fully-qualified hostname of the translator machine that is to serve as the remote
2350           executor. To enable users to issue commands that handle tokens, it must be the machine named as translator_machine in Step
2351           <A
2352 HREF="a33047.html#LIWQ607"
2353 >4</A
2354 >.</P
2355 ></LI
2356 ><LI
2357 ><P
2358 ><A
2359 NAME="LIWQ609"
2360 ></A
2361 ><SPAN
2362 CLASS="bold"
2363 ><B
2364 CLASS="emphasis"
2365 >(Optional)</B
2366 ></SPAN
2367 > If appropriate, create the <SPAN
2368 CLASS="bold"
2369 ><B
2370 CLASS="emphasis"
2371 >/.AFSCONF</B
2372 ></SPAN
2373 > file to set the AFSCONF environment variable for all of the machine's users. For a
2374           discussion, see <A
2375 HREF="a33047.html#HDRWQ600"
2376 >Setting the AFSSERVER and AFSCONF Environment Variables</A
2377 >. Place a single
2378           line in the file, specifying the name of the directory where the <SPAN
2379 CLASS="bold"
2380 ><B
2381 CLASS="emphasis"
2382 >CellServDB</B
2383 ></SPAN
2384 > and <SPAN
2385 CLASS="bold"
2386 ><B
2387 CLASS="emphasis"
2388 >ThisCell</B
2389 ></SPAN
2390 > files reside. If you use a central update source for these files (by convention, <SPAN
2391 CLASS="bold"
2392 ><B
2393 CLASS="emphasis"
2394 >/afs/</B
2395 ></SPAN
2396 >cellname<SPAN
2397 CLASS="bold"
2398 ><B
2399 CLASS="emphasis"
2400 >/common/etc</B
2401 ></SPAN
2402 >), name it here.</P
2403 ></LI
2404 ></OL
2405 ></DIV
2406 ></DIV
2407 ><DIV
2408 CLASS="sect1"
2409 ><H1
2410 CLASS="sect1"
2411 ><A
2412 NAME="HDRWQ610"
2413 >Configuring User Accounts</A
2414 ></H1
2415 ><P
2416 >There are no requirements for NFS users to access AFS as unauthenticated users. To take advantage of more AFS
2417     functionality, however, they must meet the indicated requirements. <UL
2418 ><LI
2419 ><P
2420 >To access AFS as authenticated users, they must of course authenticate with AFS, which requires an entry in the
2421           Protection and Authentication Databases.</P
2422 ></LI
2423 ><LI
2424 ><P
2425 >To create and store files, they need the required ACL permissions. If you are providing a home directory for storage
2426           of personal files, it is conventional to create a dedicated volume and mount it at the user's home directory location in
2427           the AFS filespace.</P
2428 ></LI
2429 ><LI
2430 ><P
2431 >To issue AFS commands, they must meet several additional requirements: <UL
2432 ><LI
2433 ><P
2434 >They must be working on an NFS client machine of a supported system type and from which the AFS command
2435                 binaries are accessible.</P
2436 ></LI
2437 ><LI
2438 ><P
2439 >Their command shell must define values for the AFSSERVER and AFSCONF environment variables, as described in
2440                 <A
2441 HREF="a33047.html#HDRWQ600"
2442 >Setting the AFSSERVER and AFSCONF Environment Variables</A
2443 >. It is often simplest to
2444                 define the variables by creating <SPAN
2445 CLASS="bold"
2446 ><B
2447 CLASS="emphasis"
2448 >/.AFSSERVER</B
2449 ></SPAN
2450 > and <SPAN
2451 CLASS="bold"
2452 ><B
2453 CLASS="emphasis"
2454 >/.AFSCONF</B
2455 ></SPAN
2456 > file in the NFS client machine's root directory, but you can also either set the
2457                 variables in each user's shell initialization file (<SPAN
2458 CLASS="bold"
2459 ><B
2460 CLASS="emphasis"
2461 >.cshrc</B
2462 ></SPAN
2463 > or equivalent), or
2464                 create files called <SPAN
2465 CLASS="bold"
2466 ><B
2467 CLASS="emphasis"
2468 >.AFSSERVER</B
2469 ></SPAN
2470 > and <SPAN
2471 CLASS="bold"
2472 ><B
2473 CLASS="emphasis"
2474 >.AFSCONF</B
2475 ></SPAN
2476 > in
2477                 each user's home directory.</P
2478 ></LI
2479 ><LI
2480 ><P
2481 >They must have an entry in the AFS Protection and Authentication Databases, so that they can authenticate if
2482                 the command requires AFS privilege. Other commands instead require assuming the local <SPAN
2483 CLASS="bold"
2484 ><B
2485 CLASS="emphasis"
2486 >root</B
2487 ></SPAN
2488 > identity on the translator machine; for further discussion, see <A
2489 HREF="a33047.html#HDRWQ601"
2490 >The AFSSERVER Variable</A
2491 >.</P
2492 ></LI
2493 ><LI
2494 ><P
2495 >Their PATH environment variable must include the pathname to the appropriate AFS binaries. If a user works on
2496                 NFS client machines of different system types, include the <SPAN
2497 CLASS="bold"
2498 ><B
2499 CLASS="emphasis"
2500 >@sys</B
2501 ></SPAN
2502 > variable in the
2503                 pathname rather than an actual system type name.</P
2504 ></LI
2505 ></UL
2506 ></P
2507 ></LI
2508 ></UL
2509 ></P
2510 ><DIV
2511 CLASS="sect2"
2512 ><H2
2513 CLASS="sect2"
2514 ><A
2515 NAME="Header_684"
2516 >To configure a user account for issuing AFS commands</A
2517 ></H2
2518 ><OL
2519 TYPE="1"
2520 ><LI
2521 ><P
2522 >Create entries for the user in the Protection and Authentication Databases, or create a complete AFS account. See
2523           the instructions for account creation in <A
2524 HREF="c24913.html"
2525 >Creating and Deleting User Accounts with the uss Command
2526           Suite</A
2527 > or <A
2528 HREF="c27596.html"
2529 >Administering User Accounts</A
2530 >.</P
2531 ></LI
2532 ><LI
2533 ><P
2534 ><A
2535 NAME="LIWQ611"
2536 ></A
2537 >Modify the user's PATH environment variable to include the pathname of AFS binaries, such as
2538           <SPAN
2539 CLASS="bold"
2540 ><B
2541 CLASS="emphasis"
2542 >/afs/</B
2543 ></SPAN
2544 >cellname<SPAN
2545 CLASS="bold"
2546 ><B
2547 CLASS="emphasis"
2548 >/</B
2549 ></SPAN
2550 >sysname<SPAN
2551 CLASS="bold"
2552 ><B
2553 CLASS="emphasis"
2554 >/usr/afsws/bin</B
2555 ></SPAN
2556 >. If the user works on NFS client machines of different system types, considering
2557           replacing the specific sysname value with the <SPAN
2558 CLASS="bold"
2559 ><B
2560 CLASS="emphasis"
2561 >@sys</B
2562 ></SPAN
2563 > variable. The PATH variable is
2564           commonly defined in a login or shell initialization file (such as the <SPAN
2565 CLASS="bold"
2566 ><B
2567 CLASS="emphasis"
2568 >.login</B
2569 ></SPAN
2570 > or <SPAN
2571 CLASS="bold"
2572 ><B
2573 CLASS="emphasis"
2574 >.cshrc</B
2575 ></SPAN
2576 > file).</P
2577 ></LI
2578 ><LI
2579 ><P
2580 ><SPAN
2581 CLASS="bold"
2582 ><B
2583 CLASS="emphasis"
2584 >(Optional)</B
2585 ></SPAN
2586 > Set the AFSSERVER and AFSCONF environment variables if appropriate. This
2587           is required if the NFS client machines on which the user works do not have the <SPAN
2588 CLASS="bold"
2589 ><B
2590 CLASS="emphasis"
2591 >/.AFSSERVER</B
2592 ></SPAN
2593 > and <SPAN
2594 CLASS="bold"
2595 ><B
2596 CLASS="emphasis"
2597 >/.AFSCONF</B
2598 ></SPAN
2599 > files in their root directories, or if
2600           you want user-specific values to override those settings.</P
2601 ><P
2602 >Either define the variables in the user's login or shell initialization file, or create the files <SPAN
2603 CLASS="bold"
2604 ><B
2605 CLASS="emphasis"
2606 >.AFSSERVER</B
2607 ></SPAN
2608 > and <SPAN
2609 CLASS="bold"
2610 ><B
2611 CLASS="emphasis"
2612 >.AFSCONF</B
2613 ></SPAN
2614 > files in the user's home directory.</P
2615 ><P
2616 >For the AFSSERVER variable, specify the fully-qualified hostname of the translator machine that is to serve as the
2617           remote executor. For the AFSCONF variable, specify the name of the directory where the <SPAN
2618 CLASS="bold"
2619 ><B
2620 CLASS="emphasis"
2621 >CellServDB</B
2622 ></SPAN
2623 > and <SPAN
2624 CLASS="bold"
2625 ><B
2626 CLASS="emphasis"
2627 >ThisCell</B
2628 ></SPAN
2629 > files reside. If you use a central update
2630           source for these files (by convention, <SPAN
2631 CLASS="bold"
2632 ><B
2633 CLASS="emphasis"
2634 >/afs/</B
2635 ></SPAN
2636 >cellname<SPAN
2637 CLASS="bold"
2638 ><B
2639 CLASS="emphasis"
2640 >/common/etc</B
2641 ></SPAN
2642 >), name it here.</P
2643 ></LI
2644 ><LI
2645 ><P
2646 >If the pathname you defined in Step <A
2647 HREF="a33047.html#LIWQ611"
2648 >2</A
2649 > includes the <SPAN
2650 CLASS="bold"
2651 ><B
2652 CLASS="emphasis"
2653 >@sys</B
2654 ></SPAN
2655 > variable, instruct users to check that their system name is defined correctly before they
2656           issue AFS commands. They issue the following command: <PRE
2657 CLASS="programlisting"
2658 >&#13;   % <SPAN
2659 CLASS="bold"
2660 ><B
2661 CLASS="emphasis"
2662 >fs sysname</B
2663 ></SPAN
2664 >
2665 </PRE
2666 ></P
2667 ></LI
2668 ></OL
2669 ></DIV
2670 ></DIV
2671 ><DIV
2672 CLASS="sect1"
2673 ><H1
2674 CLASS="sect1"
2675 ><A
2676 NAME="HDRWQ612"
2677 >Authenticating on Unsupported NFS Client Machines</A
2678 ></H1
2679 ><P
2680 >The <SPAN
2681 CLASS="bold"
2682 ><B
2683 CLASS="emphasis"
2684 >knfs</B
2685 ></SPAN
2686 > command enables users to authenticate with AFS when they are working on NFS
2687     clients of unsupported system types (those for which AFS binaries are not available). This enables such users to access the AFS
2688     file tree to the same extent as any other AFS user. They cannot, however, issue AFS commands, which is possible only on NFS
2689     client machines of supported system types.</P
2690 ><P
2691 >To authenticate on an unsupported system type, establish a connection to the translator machine (using a facility such as
2692     <SPAN
2693 CLASS="bold"
2694 ><B
2695 CLASS="emphasis"
2696 >telnet</B
2697 ></SPAN
2698 >), and issue the <SPAN
2699 CLASS="bold"
2700 ><B
2701 CLASS="emphasis"
2702 >klog</B
2703 ></SPAN
2704 > command to obtain tokens for all
2705     the cells you wish to contact during the upcoming NFS session. Then issue the <SPAN
2706 CLASS="bold"
2707 ><B
2708 CLASS="emphasis"
2709 >knfs</B
2710 ></SPAN
2711 > command,
2712     which stores the tokens in a credential structure associated with your NFS session. The Cache Manager uses the tokens when
2713     performing AFS access requests that originate from your NFS session.</P
2714 ><P
2715 >More specifically, the credential structure is identified by a process authentication group (PAG) number associated with a
2716     particular local UID on a specific NFS client machine. By default, the NFS UID recorded in the credential structure is the same
2717     as your local UID on the translator machine. You can include the <SPAN
2718 CLASS="bold"
2719 ><B
2720 CLASS="emphasis"
2721 >-id</B
2722 ></SPAN
2723 > argument to specify an
2724     alternate NFS UID, unless the translator machine's administrator has used the <SPAN
2725 CLASS="bold"
2726 ><B
2727 CLASS="emphasis"
2728 >fs exportafs</B
2729 ></SPAN
2730 >
2731     command's <SPAN
2732 CLASS="bold"
2733 ><B
2734 CLASS="emphasis"
2735 >-uidcheck</B
2736 ></SPAN
2737 > argument to enable UID checking. In that case, the value of the <SPAN
2738 CLASS="bold"
2739 ><B
2740 CLASS="emphasis"
2741 >-id</B
2742 ></SPAN
2743 > argument must match your local UID on the translator machine (so there is not point to including the
2744     <SPAN
2745 CLASS="bold"
2746 ><B
2747 CLASS="emphasis"
2748 >-id</B
2749 ></SPAN
2750 > argument). Enforcing matching UIDs prevents someone else from placing their tokens in your
2751     credential structure, either accidentally or on purpose. However, it means that your cell's administrators must set your local
2752     UID on the NFS client to match your local UID on the translator machine. It also makes it impossible to authenticate by issuing
2753     the <SPAN
2754 CLASS="bold"
2755 ><B
2756 CLASS="emphasis"
2757 >klog</B
2758 ></SPAN
2759 > command on supported NFS clients, meaning that all NFS users must use the <SPAN
2760 CLASS="bold"
2761 ><B
2762 CLASS="emphasis"
2763 >knfs</B
2764 ></SPAN
2765 > command. See <A
2766 HREF="a33047.html#HDRWQ604"
2767 >Controlling Optional Translator Features</A
2768 >.</P
2769 ><P
2770 >After issuing the <SPAN
2771 CLASS="bold"
2772 ><B
2773 CLASS="emphasis"
2774 >knfs</B
2775 ></SPAN
2776 > command, you can begin working on the NFS client with
2777     authenticated access to AFS. When you are finished working, it is a good policy to destroy your tokens by issuing the <SPAN
2778 CLASS="bold"
2779 ><B
2780 CLASS="emphasis"
2781 >knfs</B
2782 ></SPAN
2783 > command on the translator machine again, this time with the <SPAN
2784 CLASS="bold"
2785 ><B
2786 CLASS="emphasis"
2787 >-unlog</B
2788 ></SPAN
2789 >
2790     flag. This is simpler if you have left the connection to the translator machine open, but you can always establish a new
2791     connection if you closed the original one.</P
2792 ><P
2793 >If your NFS client machine is a supported system type and you wish to issue AFS commands on it, include the <SPAN
2794 CLASS="bold"
2795 ><B
2796 CLASS="emphasis"
2797 >-sysname</B
2798 ></SPAN
2799 > argument to the <SPAN
2800 CLASS="bold"
2801 ><B
2802 CLASS="emphasis"
2803 >knfs</B
2804 ></SPAN
2805 > command. The remote executor daemon on the
2806     translator machine substitutes its value for the <SPAN
2807 CLASS="bold"
2808 ><B
2809 CLASS="emphasis"
2810 >@sys</B
2811 ></SPAN
2812 > variable in pathnames when executing AFS
2813     commands that you issue on the NFS client machine. If your PATH environment variable uses the <SPAN
2814 CLASS="bold"
2815 ><B
2816 CLASS="emphasis"
2817 >@sys</B
2818 ></SPAN
2819 > variable in the pathnames for directories that house AFS binaries (as recommended), then setting
2820     this argument enables the remote executor daemon to access the AFS binaries appropriate for your NFS client machine even if its
2821     system type differs from the translator machine's.</P
2822 ><P
2823 >If you do not issue the <SPAN
2824 CLASS="bold"
2825 ><B
2826 CLASS="emphasis"
2827 >knfs</B
2828 ></SPAN
2829 > command (or the <SPAN
2830 CLASS="bold"
2831 ><B
2832 CLASS="emphasis"
2833 >klog</B
2834 ></SPAN
2835 >
2836     command on the NFS client machine itself, if it is a supported system type), then you are not authenticated with AFS. For a
2837     description of unauthenticated access, see <A
2838 HREF="a33047.html#HDRWQ599"
2839 >Enabling Unauthenticated or Authenticated AFS Access</A
2840 >.
2841      </P
2842 ><DIV
2843 CLASS="sect2"
2844 ><H2
2845 CLASS="sect2"
2846 ><A
2847 NAME="Header_686"
2848 >To authenticate using the knfs command</A
2849 ></H2
2850 ><OL
2851 TYPE="1"
2852 ><LI
2853 ><P
2854 >Log on to the relevant translator machine, either on the console or remotely by using a program such as <SPAN
2855 CLASS="bold"
2856 ><B
2857 CLASS="emphasis"
2858 >telnet</B
2859 ></SPAN
2860 >.</P
2861 ></LI
2862 ><LI
2863 ><P
2864 >Obtain tokens for every cell you wish to access while working on the NFS client. AFS-modified login utilities
2865           acquire a token for the translator machine's local cell by default; use <SPAN
2866 CLASS="bold"
2867 ><B
2868 CLASS="emphasis"
2869 >klog</B
2870 ></SPAN
2871 > command to
2872           obtain tokens for other cells if desired.</P
2873 ></LI
2874 ><LI
2875 ><P
2876 >Issue the <SPAN
2877 CLASS="bold"
2878 ><B
2879 CLASS="emphasis"
2880 >knfs</B
2881 ></SPAN
2882 > command to create a credential structure in the translator machine's
2883           kernel memory for storing the tokens obtained in the previous step. Include the <SPAN
2884 CLASS="bold"
2885 ><B
2886 CLASS="emphasis"
2887 >-id</B
2888 ></SPAN
2889 >
2890           argument to associate the structure with a UID on the NFS client that differs from your local UID on the translator
2891           machine. This is possible unless the translator machine's administrator has enabled UID checking on the translator
2892           machine; see <A
2893 HREF="a33047.html#HDRWQ604"
2894 >Controlling Optional Translator Features</A
2895 >. If the NFS client machine is a
2896           supported system type and you wish to issue AFS commands on it, include the <SPAN
2897 CLASS="bold"
2898 ><B
2899 CLASS="emphasis"
2900 >-sysname</B
2901 ></SPAN
2902 >
2903           argument to specify its system type. <PRE
2904 CLASS="programlisting"
2905 >&#13;   % <SPAN
2906 CLASS="bold"
2907 ><B
2908 CLASS="emphasis"
2909 >knfs -host</B
2910 ></SPAN
2911 > &#60;<VAR
2912 CLASS="replaceable"
2913 >host name</VAR
2914 >&#62;  [<SPAN
2915 CLASS="bold"
2916 ><B
2917 CLASS="emphasis"
2918 >-id</B
2919 ></SPAN
2920 > &#60;<VAR
2921 CLASS="replaceable"
2922 >user ID (decimal)</VAR
2923 >&#62;]  \
2924                 [<SPAN
2925 CLASS="bold"
2926 ><B
2927 CLASS="emphasis"
2928 >-sysname</B
2929 ></SPAN
2930 >  &#60;<VAR
2931 CLASS="replaceable"
2932 >host's '@sys' value</VAR
2933 >&#62;]
2934 </PRE
2935 ></P
2936 ><P
2937 >where <DIV
2938 CLASS="variablelist"
2939 ><DL
2940 ><DT
2941 ><SPAN
2942 CLASS="bold"
2943 ><B
2944 CLASS="emphasis"
2945 >-host</B
2946 ></SPAN
2947 ></DT
2948 ><DD
2949 ><P
2950 >Specifies the fully-qualified hostname of the NFS client machine on which you are working.</P
2951 ></DD
2952 ><DT
2953 ><SPAN
2954 CLASS="bold"
2955 ><B
2956 CLASS="emphasis"
2957 >-id</B
2958 ></SPAN
2959 ></DT
2960 ><DD
2961 ><P
2962 >Specifies a local UID number on the NFS client machine with which to associate the tokens, if different from
2963                   your local UID on the translator machine. If this argument is omitted, the tokens are associated with an NFS UID
2964                   that matches your local UID on the translator machine. In both cases, the NFS client software marks your AFS
2965                   access requests with the NFS UID when it forwards them to the Cache Manager on the translator machine.</P
2966 ></DD
2967 ><DT
2968 ><SPAN
2969 CLASS="bold"
2970 ><B
2971 CLASS="emphasis"
2972 >-sysname</B
2973 ></SPAN
2974 ></DT
2975 ><DD
2976 ><P
2977 >Specifies the value that the local machine's remote executor daemon substitutes for the <SPAN
2978 CLASS="bold"
2979 ><B
2980 CLASS="emphasis"
2981 >@sys</B
2982 ></SPAN
2983 > variable in pathnames when executing AFS commands issued on the NFS client machine
2984                   (which must be a supported system type).</P
2985 ></DD
2986 ></DL
2987 ></DIV
2988 ></P
2989 ><P
2990 >The following error message indicates that the translator machine's administrator has enabled UID checking and you
2991           have provided a value that differs from your local UID on the translator machine.</P
2992 ><PRE
2993 CLASS="programlisting"
2994 >&#13;   knfs: Translator in 'passwd sync' mode; remote uid must be the same as local uid
2995 </PRE
2996 ></LI
2997 ><LI
2998 ><P
2999 >Close the connection to the translator machine (if desired) and work on the NFS client machine.</P
3000 ></LI
3001 ></OL
3002 ></DIV
3003 ><DIV
3004 CLASS="sect2"
3005 ><H2
3006 CLASS="sect2"
3007 ><A
3008 NAME="Header_687"
3009 >To display tokens using the knfs command</A
3010 ></H2
3011 ><OL
3012 TYPE="1"
3013 ><LI
3014 ><P
3015 >Log on to the relevant translator machine, either on the console or remotely by using a program such as <SPAN
3016 CLASS="bold"
3017 ><B
3018 CLASS="emphasis"
3019 >telnet</B
3020 ></SPAN
3021 >.</P
3022 ></LI
3023 ><LI
3024 ><P
3025 >Issue the <SPAN
3026 CLASS="bold"
3027 ><B
3028 CLASS="emphasis"
3029 >knfs</B
3030 ></SPAN
3031 > command with the <SPAN
3032 CLASS="bold"
3033 ><B
3034 CLASS="emphasis"
3035 >-tokens</B
3036 ></SPAN
3037 > flag to
3038           display the tokens associated with either the NFS UID that matches your local UID on the translator machine or the NFS UID
3039           specified by the <SPAN
3040 CLASS="bold"
3041 ><B
3042 CLASS="emphasis"
3043 >-id</B
3044 ></SPAN
3045 > argument. <PRE
3046 CLASS="programlisting"
3047 >&#13;   % <SPAN
3048 CLASS="bold"
3049 ><B
3050 CLASS="emphasis"
3051 >knfs -host</B
3052 ></SPAN
3053 > &#60;<VAR
3054 CLASS="replaceable"
3055 >host name</VAR
3056 >&#62;  [<SPAN
3057 CLASS="bold"
3058 ><B
3059 CLASS="emphasis"
3060 >-id</B
3061 ></SPAN
3062 > &#60;<VAR
3063 CLASS="replaceable"
3064 >user ID (decimal)</VAR
3065 >&#62;] <SPAN
3066 CLASS="bold"
3067 ><B
3068 CLASS="emphasis"
3069 >-tokens</B
3070 ></SPAN
3071 >
3072 </PRE
3073 ></P
3074 ><P
3075 >where <DIV
3076 CLASS="variablelist"
3077 ><DL
3078 ><DT
3079 ><SPAN
3080 CLASS="bold"
3081 ><B
3082 CLASS="emphasis"
3083 >-host</B
3084 ></SPAN
3085 ></DT
3086 ><DD
3087 ><P
3088 >Specifies the fully-qualified hostname of the NFS client machine on which you are working.</P
3089 ></DD
3090 ><DT
3091 ><SPAN
3092 CLASS="bold"
3093 ><B
3094 CLASS="emphasis"
3095 >-id</B
3096 ></SPAN
3097 ></DT
3098 ><DD
3099 ><P
3100 >Specifies the local UID on the NFS client machine for which to display tokens, if different from your local
3101                   UID on the translator machine. If this argument is omitted, the tokens are for the NFS UID that matches your local
3102                   UID on the translator machine.</P
3103 ></DD
3104 ><DT
3105 ><SPAN
3106 CLASS="bold"
3107 ><B
3108 CLASS="emphasis"
3109 >-tokens</B
3110 ></SPAN
3111 ></DT
3112 ><DD
3113 ><P
3114 >Displays the tokens.</P
3115 ></DD
3116 ></DL
3117 ></DIV
3118 ></P
3119 ></LI
3120 ><LI
3121 ><P
3122 >Close the connection to the translator machine if desired.</P
3123 ></LI
3124 ></OL
3125 ></DIV
3126 ><DIV
3127 CLASS="sect2"
3128 ><H2
3129 CLASS="sect2"
3130 ><A
3131 NAME="Header_688"
3132 >To discard tokens using the knfs command</A
3133 ></H2
3134 ><OL
3135 TYPE="1"
3136 ><LI
3137 ><P
3138 >If you closed your connection to the translator machine after issuing the <SPAN
3139 CLASS="bold"
3140 ><B
3141 CLASS="emphasis"
3142 >knfs</B
3143 ></SPAN
3144 >
3145           command, reopen it.</P
3146 ></LI
3147 ><LI
3148 ><P
3149 >Issue the <SPAN
3150 CLASS="bold"
3151 ><B
3152 CLASS="emphasis"
3153 >knfs</B
3154 ></SPAN
3155 > command with the <SPAN
3156 CLASS="bold"
3157 ><B
3158 CLASS="emphasis"
3159 >-unlog</B
3160 ></SPAN
3161 > flag.
3162           <PRE
3163 CLASS="programlisting"
3164 >&#13;   % <SPAN
3165 CLASS="bold"
3166 ><B
3167 CLASS="emphasis"
3168 >knfs -host</B
3169 ></SPAN
3170 >  &#60;<VAR
3171 CLASS="replaceable"
3172 >host name</VAR
3173 >&#62;  [<SPAN
3174 CLASS="bold"
3175 ><B
3176 CLASS="emphasis"
3177 >-id</B
3178 ></SPAN
3179 > &#60;<VAR
3180 CLASS="replaceable"
3181 >user ID (decimal)</VAR
3182 >&#62;]  <SPAN
3183 CLASS="bold"
3184 ><B
3185 CLASS="emphasis"
3186 >-unlog</B
3187 ></SPAN
3188 >
3189 </PRE
3190 ></P
3191 ><P
3192 >where <DIV
3193 CLASS="variablelist"
3194 ><DL
3195 ><DT
3196 ><SPAN
3197 CLASS="bold"
3198 ><B
3199 CLASS="emphasis"
3200 >-host</B
3201 ></SPAN
3202 ></DT
3203 ><DD
3204 ><P
3205 >Specifies the fully-qualified hostname of the NFS client machine you are working on.</P
3206 ></DD
3207 ><DT
3208 ><SPAN
3209 CLASS="bold"
3210 ><B
3211 CLASS="emphasis"
3212 >-id</B
3213 ></SPAN
3214 ></DT
3215 ><DD
3216 ><P
3217 >Specifies the local UID number on the NFS client machine for which to discard the associated tokens, if
3218                   different from your local UID on the translator machine. If this argument is omitted, the tokens associated with
3219                   an NFS UID that matches your local UID on the translator machine are discarded.</P
3220 ></DD
3221 ><DT
3222 ><SPAN
3223 CLASS="bold"
3224 ><B
3225 CLASS="emphasis"
3226 >-unlog</B
3227 ></SPAN
3228 ></DT
3229 ><DD
3230 ><P
3231 >Discards the tokens.</P
3232 ></DD
3233 ></DL
3234 ></DIV
3235 ></P
3236 ></LI
3237 ><LI
3238 ><P
3239 >If desired, close the connection to the translator machine.</P
3240 ></LI
3241 ></OL
3242 ></DIV
3243 ></DIV
3244 ></DIV
3245 ><DIV
3246 CLASS="NAVFOOTER"
3247 ><HR
3248 ALIGN="LEFT"
3249 WIDTH="100%"><TABLE
3250 SUMMARY="Footer navigation table"
3251 WIDTH="100%"
3252 BORDER="0"
3253 CELLPADDING="0"
3254 CELLSPACING="0"
3255 ><TR
3256 ><TD
3257 WIDTH="33%"
3258 ALIGN="left"
3259 VALIGN="top"
3260 ><A
3261 HREF="c32432.html"
3262 ACCESSKEY="P"
3263 >Prev</A
3264 ></TD
3265 ><TD
3266 WIDTH="34%"
3267 ALIGN="center"
3268 VALIGN="top"
3269 ><A
3270 HREF="book1.html"
3271 ACCESSKEY="H"
3272 >Home</A
3273 ></TD
3274 ><TD
3275 WIDTH="33%"
3276 ALIGN="right"
3277 VALIGN="top"
3278 ><A
3279 HREF="a33826.html"
3280 ACCESSKEY="N"
3281 >Next</A
3282 ></TD
3283 ></TR
3284 ><TR
3285 ><TD
3286 WIDTH="33%"
3287 ALIGN="left"
3288 VALIGN="top"
3289 >Managing Administrative Privilege</TD
3290 ><TD
3291 WIDTH="34%"
3292 ALIGN="center"
3293 VALIGN="top"
3294 >&nbsp;</TD
3295 ><TD
3296 WIDTH="33%"
3297 ALIGN="right"
3298 VALIGN="top"
3299 >Using AFS Commands</TD
3300 ></TR
3301 ></TABLE
3302 ></DIV
3303 ></BODY
3304 ></HTML
3305 >