1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
--- man/man8/afpd.8.orig Tue May 20 19:35:43 1997
+++ man/man8/afpd.8 Tue Nov 24 03:49:13 1998
@@ -1,108 +1,59 @@
-.TH AFPD 8 "25 Jan 1994" "netatalk 1.3"
+.TH AFPD 8 "07 Sep 1998" "netatalk 1.4b2/asun 2.1.0"
+
.SH NAME
afpd \- AppleTalk Filing Protocol daemon
+
.SH SYNOPSIS
-.B :SBINDIR:/afpd
-[
-.B -d
-]
-[
-.B -f
-.I defaultvolumes
-]
-[
-.B -s
-.I systemvolumes
-]
-[
-.B -u
-]
-[
-.B -n
-.I nbpname
-]
-[
-.B -c
-.I maxconnections
-]
-[
-.B -g
-.I guest
-]
-[
-.B -G
-]
-[
-.B -K
-]
-[
-.B -C
-]
-[
-.B -A
-]
+\fB:SBINDIR:/afpd\fR [\fIoptions\fR]
+
.SH DESCRIPTION
.B afpd
provides an AppleTalk Filing Protocol (AFP)
interface to the Unix file system. It is normally started at boot time
from
-.BR /etc/rc .
-The list of volumes offered to the user is generated from
-.B :ETCDIR:/AppleVolumes.system
-and one of
-.BR :ETCDIR:/AppleVolumes.default ,
-.BR $HOME/AppleVolumes ,
-or
-.BR $HOME/.AppleVolumes .
+.BR :ETCDIR:/rc.d/netatalk.sh .
+Configuration information is read from the configuration file
+.BR :ETCDIR:/afpd.conf ,
+and the command line.
.LP
-The
-.B AppleVolumes
-files is used to specify volumes to mount and file name extension mappings.
-It is formatted as follows, one specification per line:
-.RS
-.sp
-.I pathname
-[
-.I volumename
-]
-.br
-.RI . extension
-[
-.I type
-[
-.I creator
-]
-]
-.sp
-.RE
-If
-.I volumename
-is unspecified, the last component of
-.I pathname
-is used. No two volumes may have the same name. If
-.I type
-is unspecified
-.RB ' ???? '
-is used. If
-.I creator
-is unspecified
-.RB ' UNIX '
-is used. The extension
-.RB ' . '
-sets the default creator and type for otherwise untyped Unix files.
-Blank lines and lines beginning with `#' are ignored.
+.B afpd
+supports some of AFP 2.2's features, in particular access via AFP-over-TCP,
+support for volumes larger than 2\ GB, a login greeting message, ProDOS
+support, and Two-Way Random Number Exchange for Authentication. Access via
+TCP can be protected via TCP Wrappers.
+.B afpd
+can be configured to provide multiple, seperately configured virtual
+servers.
+
.SH OPTIONS
.TP
.B \-d
Specifies that the daemon not fork, and that a trace of all AFP
commands be written to stdout.
.TP
+.BI \-c " maxconnections"
+Specifies the maximum number of connections to allow for this
+.BR afpd .
+The default is 5.
+.TP
.BI \-f " defaultvolumes"
Specifies that
.I defaultvolumes
should be read for a list of default volumes to offer, instead of
.BR :ETCDIR:/AppleVolumes.default .
.TP
+.BI \-g " guest"
+Specifies the name of the guest account. The default is ``nobody''.
+.TP
+.BI \-n " nbpname"
+Specifies that
+.I nbpname
+should be used for NBP registration, instead of the first component of
+the hostname in the local zone.
+.TP
+.B \-p
+Don't allow the client to save the password locally.
+.TP
.BI \-s " systemvolumes"
Specifies that
.I systemvolumes
@@ -110,6 +61,9 @@
instead of
.BR :ETCDIR:/AppleVolumes.system .
.TP
+.B \-t
+Allow the user to change her or his password.
+.TP
.B \-u
Read the user's
.B AppleVolumes
@@ -123,19 +77,24 @@
filename extension mappings: the user's AppleVolumes file always has
precedence.
.TP
-.BI \-n " nbpname"
-Specifies that
-.I nbpname
-should be used for NBP registration, instead of the first component of
-the hostname in the local zone.
+.B \-D
+Don't offer connections via DDP (AppleTalk).
.TP
-.BI \-c " maxconnections"
-Specifies the maximum number of connections to allow for this
-.BR afpd .
-The default is 5.
+\fB\-F\fR "\fIfile\fR"
+Read the configuration file from \fIfile\fR instead of the default
+\fB:ETCDIR:/afpd.conf\fR.
.TP
-.BI \-g " guest"
-Specifies the name of the guest account. The default is ``nobody''.
+\fB\-L\fR "\fItext\fR"
+After authentication, send \fItext\fR to client.
+.TP
+\fB\-P\fR "\fIfile\fR"
+Record \fBafpd\fR's PID in \fIfile\fR.
+.TP
+\fB\-S\fR \fITCP port\fR
+Listen on port number \fITCP port\fR instead of the default 548.
+.TP
+.B \-T
+Don't offer connections via AFP-over-TCP.
.TP
.B \-G
.TP
@@ -144,50 +103,191 @@
.B \-C
.TP
.B \-A
-Causes the server to not offer
+Causes the server to \fBnot\fR offer
.BR NoUserAuthent ,
.BR "Kerberos IV" ,
.BR "Cleartxt Passwrd" ,
and
.B AFS Kerberos
logins, respectively. The default is to enable all available login methods.
+
+.SH SERVER CONFIGURATION FILE
+.B afpd
+reads the configuration file
+.BR :ETCDIR:/afpd.conf .
+Any option specified here will override any compiled-in default and any
+option specified on the command line.
+.LP
+Each line in this file specifies a virtual server to be made available.
+Empty lines and lines beginning with ``#'' are ignored. Each line is formatted
+as follows:
+.RS
+.sp
+"\fIserver name\fR"
+[\fIoptions\fR]
+.sp
+.RE
+A
+.I server name
+of ``\fB-\fR'' specifies the default server. Paramters with white space must
+be enclosed in quotes.
+.LP
+The following options are available:
+.TP
+\fB\-\fR[\fBno\fR]\fBddp\fR
+Do offer (do not offer) connections to be made to this server via AppleTalk
+(ASP over DDP).
+.TP
+\fB\-\fR[\fBno\fR]\fBtcp\fR
+Do offer (do not offer) connections to be made to this server via AFP-over-TCP,
+subject to TCP Wrapper restrictions.
+.TP
+.B \-transall
+Offer both connections via DDP and TCP (default).
+.TP
+\fB\-\fR[\fBno\fR]\fBguest\fR
+Allow (do not allow) guest logins (using the \fBNoUserAuthent\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBcleartxt\fR
+Allow (do not allow) logins with the password transmitted as clear text
+(using the \fBCleartxt\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBrandnum\fR
+Allow (do not allow) logins using Random Number Exchange for authentication
+(using the \fBRandNum\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBrand2num\fR
+Allow (do not allow) logins using Two-Way Random Number Exchange for
+authentication (using the \fBTwoWayRandNum\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBafskrb\fR
+Allow (do not allow) logins using AFS Kerberos. Whether this option is
+available depends on both the server and the client (using the \fBAFS
+Kerberos\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBkrbiv\fR
+Allow (do not allow) logins using Kerberos IV. Whether this option is
+available depends on both the server and the client (using the
+\fBKerberos\ IV\fR method).
+.TP
+\fB\-\fR[\fBno\fR]\fBsetpassword\fR
+Allow (do not allow) the user to change her or his password.
+.TP
+\fB\-\fR[\fBno\fR]\fBsavepassword\fR
+Allow (do not allow) the client to save the password locally.
+.TP
+\fB\-authall\fR
+Allow all available authentication methods.
+.TP
+\fB\-defaultvol\fR \fIfile\fR
+Specifies an alternate location of the default volume specification file
+instead of the default \fB:ETCDIR:/AppleVolumes.default\fR.
+.TP
+\fB\-systemvol\fR \fIfile\fR
+Specifies an alternate location of the system volume specification file
+instead of the default \fB:ETCDIR:/AppleVolumes.system\fR.
+.TP
+\fB\-\fR[\fBno\fR]\fBuservolfirst\fR
+Read the user's volume specification file before (after) the default and
+system files, allowing the user to override system-wide volume definitions.
+.TP
+\fB\-\fR[\fBno\fR]\fBuservol\fR
+Read (do not read) the user's volume specification file.
+.TP
+\fB\-guestname\fR \fIusername\fR
+User \fIusername\fR as the user id for guest access.
+.TP
+\fB\-address\fR \fIIP address\fR
+Listen on address \fIIP address\fR instead of the system's first IP address.
+.TP
+\fB\-port\fR \fITCP port\fR
+Listen on port \fITCP port\fR instead of the default port 548.
+.TP
+\fB\-loginmesg\fR \fItext\fR
+After authenticating a client, send \fItext\fR to the client. \fItext\fR can
+be up to 253 characters long and must be in Macintosh character encoding.
+.TP
+\fB\-\fR[\fBno\fR]\fBdebug\fR
+Turn on (turn off) output of debugging messages.
+
+.SH VOLUME SPECIFICATION
+The
+.B AppleVolumes
+files are used to specify parts of the file system to be made available to
+clients (``volumes'') and file name extension mappings. Empty lines and
+lines beginning with ``#'' are ignored. Each line either contains a volume
+definition or an extention mapping, providing Mac\ OS type and creator
+information for files that do not yet have this information.
+.LP
+The list of volumes offered to the user is generated from
+.B :ETCDIR:/AppleVolumes.system
+and one of
+.BR :ETCDIR:/AppleVolumes.default ,
+.BR $HOME/AppleVolumes ,
+or
+.BR $HOME/.AppleVolumes ,
+subject to the configuration file and command line options.
+.LP
+Volume definitons are formatted as follows:
+.RS
+.sp
+.I pathname
+[\fIvolumename\fR]
+.sp
+.RE
+If \fIvolumename\fR is unspecified, the last component of
+\fIpathname\fR is used. No two volumes may have the same name.
+.LP
+An extension mapping is formatted as follows:
+.RS
+.sp
+.I .extension
+[\fItype\fR [\fIcreator\fR] ]
+.sp
+.RE
+If \fItype\fR is unspecified, ``\fB????\fR'' is used. If \fIcreator\fR is
+unspecified, ``\fBUNIX\fR'' is used. The extension ``\fB.\fR''
+sets the default creator and type for otherwise untyped Unix files.
+
.SH AUTHENTICATION
.B afpd
-currently understands three User Authentication Methods (UAMs):
-.BR NoUserAuthent ,
-or guest,
-.B Cleartxt
-.BR passwrd ,
-and
-.B Kerberos
-.BR IV .
-If a user uses
-.BR NoUserAuthent ,
-s/he will only be offered default volumes to mount, and will only be able
-to read and write files that are permitted to the guest user. The
-.B -G
-option disables
-.BR NoUserAuthent .
-With
-.B Cleartxt passwd
-and
-.B Kerberos
-.BR IV ,
+provides a number of User Authentication Methods (UAMs). The
+\fBNoUserAuthent\fR (or guest) and the \fBCleartxt\fR methods are always
+available (subject to the configuration file and command line options).
+.LP
+The \fBRandNum\fR and \fBTwoWayRandNum\fR methods are available to a
+particular user if she or he has a file ``\fB.passwd\fR'' in the home
+directory, and that file is readable only by the user herself. When
+authenticating using one of these methods, the user also can change her or
+his password (subject to the configuration file and command line options).
+.LP
+The \fBKerberos IV\fR method depends on both the server and the client
+having installed appropriate Kerberos IV software.
+.LP
+The \fBAFP Kerberos\fR method is deprecated.
+
+.SH FILE STORAGE
.B afpd
-offers the user all volumes listed in
-.BR $HOME/AppleVolumes .
-The user may also read and write all files that s/he normally could.
-.B Cleartxt passwd
-is not recommended for AFS use.
-.B Kerberos IV
-is recommended for AFS use.
-A forth, depricated UAM is also included in the distribution,
-.B AFS
-.BR Kerberos .
+stores files in the \fBAppleDouble\fR file format, which stores the data for
+a Mac\ OS file in a regular file, and the Finder information and resource
+fork in a file with the same name in a subdirectory named
+``\fB.AppleDouble\fR.''
+.LP
+For files that do not yet have Mac OS Finder information, \fBafpd\fR
+automatically creates this information based on the extension mapping table,
+and subject to access permissions on the respective directory. No
+translation is done for files stored from a client.
+.LP
+Files created from a client whose name contains ASCII control characters or
+characters with the eighth bit set are converted, where each such character
+is replaced by the sequence ``:XX'', with ``XX'' being the hexadecimal code
+for the character. File names starting with a ``.'' or longer than 31
+characters are ignored.
+
.SH CAVEATS
.BR afpd 's
Directory IDs are only fixed for the duration of a session. This means
-that Mac aliases won't work correctly in all cases.
+that Mac\ OS aliases won't work correctly in all cases.
.LP
If a user renames a folder that has an application as its progeny, the
.B APPL
@@ -195,16 +295,16 @@
that double-clicking on one of the application's documents will no
longer launch the application. The
.B APPL
-mapping will be rebuilt by the mac, the next time the Finder see the
-application.
+mapping will be rebuilt by the Mac OS Finder the next time the Finder see
+the application.
.LP
If
.B afpd
-is configured to downcase Macintosh filenames, Unix filenames with
+is configured to downcase client filenames, Unix filenames with
mixed case will be unavailable.
.LP
If carriage return/line feed translation is enabled, it is not
-safe to copy Unix binaries to a Macintosh.
+safe to copy Unix binaries via \fBafpd\fR.
.LP
It is not possible to move directories between devices.
.LP
@@ -221,7 +321,7 @@
so that his home directory is no longer offered, he will no longer be able
to edit his
.B $HOME/AppleVolumes
-from the Macintosh.
+from the client.
.LP
Unix files beginning with `.' are not accessible from the mac.
.LP
@@ -252,8 +352,11 @@
synchronization locks use the
.BR flock (2)
interface. This interface is not usually ``NFS-aware''.
+
.SH FILES
.TP 20
+.B :ETCDIR:/afpd.conf
+general options
.B :ETCDIR:/AppleVolumes.default
list of default volumes to mount
.TP 20
@@ -262,6 +365,14 @@
.TP 20
.B $HOME/AppleVolumes
user's list of volumes to mount
+
+.SH AUTHORS
+\fBafpd\fR is part of the \fBnetatalk\fR suite, originally developed at the
+Research Systems Unix Group at the University of Michigan, by Wesley Craig
+<netatalk@umich.edu>, and a number of contributors. This version of
+\fBnetatalk\fR has been substantially extended by Adrian Sun
+<asun@zoology.washington.edu>.
+
.SH BUGS
Many calls from the AFP specification are not implemented, because the
-Macintosh does not use them.
+MacOS does not use them.
|