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