man1-editing-pass-20051209
[openafs.git] / doc / man-pages / pod1 / knfs.pod
1 =head1 NAME
2
3 knfs - Establishes authenticated access via the NFS/AFS Translator
4
5 =head1 SYNOPSIS
6
7 B<knfs> B<-host> <I<host name>> [B<-id> <I<user ID (decimal)>>]
8     [B<-sysname> <I<host's '@sys' value>>] [B<-unlog>] [B<-tokens>]
9     [B<-help>]
10
11 B<knfs> B<-ho> <I<host name>> [B<-i> <I<user ID (decimal)>>]  
12     [B<-s> <I<host's '@sys' value>>] [B<-u>] [B<-t>] [B<-he>]
13
14 =head1 DESCRIPTION
15
16 The B<knfs> command creates an AFS credential structure on the local
17 machine, identifying it by a process authentication group (PAG) number
18 associated with the NFS client machine named by the B<-hostname> argument
19 and by default with a local UID on the NFS client machine that matches the
20 issuer's local UID on the local machine. It places in the credential
21 structure the AFS tokens that the issuer has previously obtained (by
22 logging onto the local machine if an AFS-modified login utility is
23 installed, by issuing the B<klog> command, or both). To associate the
24 credential structure with an NFS UID that does not match the issuer's
25 local UID, use the B<-id> argument.
26
27 Issue this command only on the NFS(R)/AFS translator machine that is
28 serving the NFS client machine, after obtaining AFS tokens on the
29 translator machine for every cell to which authenticated access is
30 required. The Cache Manager on the translator machine uses the tokens to
31 obtain authenticated AFS access for the designated user working on the NFS
32 client machine. This command is not effective if issued on an NFS client
33 machine.
34
35 To enable the user on the NFS client machine to issue AFS commands, use
36 the B<-sysname> argument to specify the NFS client machine's system type,
37 which can differ from the translator machine's. The NFS client machine
38 must be a system type for which AFS is supported.
39
40 The B<-unlog> flag discards the tokens in the credential structure, but
41 does not destroy the credential structure itself. The Cache Manager on the
42 translator machine retains the credential structure until the next reboot,
43 and uses it each time the issuer accesses AFS through the translator
44 machine. The credential structure only has tokens in it if the user
45 reissues the B<knfs> command on the translator machine each time the user
46 logs into the NFS client machine.
47
48 To display the tokens associated with the designated user on the NFS
49 client machine, include the B<-tokens> flag.
50
51 Users working on NFS client machines of system types for which AFS
52 binaries are available can use the B<klog> command rather than the B<knfs>
53 command.
54
55 =head1 CAUTIONS
56
57 If the translator machine's administrator has enabled UID checking by
58 issuing the B<fs exportafs> command with the B<-uidcheck on> argument, it
59 is not possible to use the B<-id> argument to assign the tokens to an NFS
60 UID that differs from the issuer's local UID. In this case, there is no
61 point in including the B<-id> argument, because the only acceptable value
62 (the issuer's local UID) is the value used when the B<-id> argument is
63 omitted. Requiring matching UIDs is effective only when users have the
64 same local UID on the translator machine as on NFS client machines. In
65 that case, it guarantees that users assign their tokens only to their own
66 NFS sessions.
67
68 This command does not make it possible for users working on non-supported
69 system types to issue AFS commands. This is possible only on NFS clients
70 of a system type for which AFS is available.
71
72 =head1 OPTIONS
73
74 =over 4
75
76 =item B<-host> <I<host name>>
77
78 Names the NFS client machine on which the issuer is to work.  Providing a
79 fully-qualified hostname is best, but abbreviated forms are possibly
80 acceptable depending on the state of the cell's name server at the time
81 the command is issued.
82
83 =item B<-id> <I<user ID (decimal)>>
84
85 Specifies the local UID on the NFS client to which to assign the
86 tokens. The NFS client identifies file requests by the NFS UID, so
87 creating the association enables the Cache Manager on the translator
88 machine to use the appropriate tokens when filling the requests. If this
89 argument is omitted, the command interpreter uses an NFS UID that matches
90 the issuer's local UID on the translator machine (as returned by the
91 getuid() function).
92
93 =item B<-sysname> <I<host's '@sys' value>>
94
95 Specifies the value that the local (translator) machine's remote executor
96 daemon substitutes for the I<@sys> variable in pathnames when executing
97 AFS commands issued on the NFS client machine (which must be a supported
98 system type). If the NFS user's PATH environment variable uses the I<@sys>
99 variable in the pathnames for directories that house AFS binaries (as
100 recommended), then setting this argument enables NFS users to issue AFS
101 commands by leading the remote executor daemon to access the AFS binaries
102 appropriate to the NFS client machine even if its system type differs from
103 the translator machine's.
104
105 =item B<-unlog>
106
107 Discards the tokens stored in the credential structure identified by the
108 PAG associated with the B<-host> argument and, optionally, the B<-id>
109 argument.
110
111 =item B<-tokens>
112
113 Displays the AFS tokens assigned to the designated user on the indicated
114 NFS client machine.
115
116 =item B<-help>
117
118 Prints the online help for this command. All other valid options are
119 ignored.
120
121 =back
122
123 =head1 OUTPUT
124
125 The following error message indicates that UID checking is enabled on the
126 translator machine and that the value provided for the B<-id> argument
127 differs from the issuer's local UID.
128
129    knfs: Translator in 'passwd sync' mode; remote uid must be the same as
130    local uid
131
132 =head1 EXAMPLES
133
134 The following example illustrates a typical use of this command. The
135 issuer C<smith> is working on the machine C<nfscli1.abc.com> and has user
136 ID C<1020> on that machine. The translator machine C<tx4.abc.com> uses an
137 AFS-modified login utility, so C<smith> obtains tokens for the ABC
138 Corporation cell automatically upon login via the B<telnet> program. She
139 then issues the B<klog> command to obtain tokens as C<admin> in the ABC
140 Corporation's test cell, C<test.abc.com>, and the B<knfs> command to
141 associate both tokens with the credential structure identified by machine
142 name C<nfs-cli1> and user ID C<1020>. She breaks the connection to C<tx4>
143 and works on C<nfscli1>.
144
145    % telnet tx4.abc.com
146    . . .
147    login: smith
148    Password:
149    AFS(R) login
150
151    % klog admin -cell test.abc.com
152    Password:
153    
154    % knfs nfscli1.abc.com 1020
155    
156    % exit
157
158 The following example shows user smith again connecting to the machine
159 C<tx4> via the B<telnet> program and discarding the tokens.
160
161    % telnet translator4.abc.com
162    . . .
163    login: smith
164    Password:
165    AFS(R) login
166
167    % knfs nfscli1.abc.com 1020 -unlog
168  
169    % exit
170
171 =head1 PRIVILEGE REQUIRED
172
173 None
174
175 =head1 SEE ALSO
176
177 L<klog(1)>,
178 L<pagsh(1)>
179
180 =head1 COPYRIGHT
181
182 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
183
184 This documentation is covered by the IBM Public License Version 1.0.  It was
185 converted from HTML to POD by software written by Chas Williams and Russ
186 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.