AFPD(8)

NAME
afpd - AppleTalk Filing Protocol daemon

SYNOPSIS
/usr/local/libexec/afpd [ -d ] [ -f defaultvolumes ] [ -s systemvolumes ] [ -u ] [ -n nbpname ] [ -c maxconnections ] [ -g guest ] [ -G ] [ -K ] [ -C ] [ -A ]

DESCRIPTION
afpd provides an AppleTalk Filing Protocol (AFP) interface to the Unix file system. It is normally started at boot time from /etc/rc. The list of volumes offered to the user is generated from /etc/netatalk/AppleVolumes.system and one of /etc/netatalk/AppleVolumes.default, $HOME/AppleVolumes, or $HOME/.AppleVolumes.

The AppleVolumes files is used to specify volumes to mount and file name extension mappings. It is formatted as follows, one specification per line:

    pathname [ volumename ] [ flags ]
    .extension [ type [ creator ] ]

If volumename is unspecified, the last component of pathname is used. No two volumes may have the same name. If type is unspecified '????' is used. If creator is unspecified 'UNIX' is used. The extension '.' sets the default creator and type for otherwise untyped Unix files. Blank lines and lines beginning with `#' are ignored. flags flag bits to control behavior towards Apple 2 clients. These are configured by placing a digit in [0..3] after the exported Apple name in AppleVolumes - delimited with whitespace.

0 or none = Normal netatalk defaults

1         = This volume to be compatible with ProDOS-8

2         = Force all file and directory names to
    uppercase from clients point of view. Note that this only really makes sense when the volume will not be shared with GSOS or Mac.

3         = Both of the above..

OPTIONS

-d  Specifies that the daemon not fork, and that a trace of all AFP commands be written to stdout.

-f defaultvolumes
    Specifies that defaultvolumes should be read for a list of default volumes to offer, instead of /etc/netatalk/AppleVolumes.default.

-s systemvolumes
    Specifies that systemvolumes should be read for a list of volume that all users will be offered, instead of /etc/netatalk/AppleVolumes.system.

-u  Read the user's AppleVolumes file first. This option causes volume names in the user's AppleVolumes file to override volume names in the system's AppleVolumes file. The default is to read the system AppleVolumes file first. Note that this option doesn't effect the precendence of filename extension mappings: the user's AppleVolumes file always has precedence.

-n nbpname
    Specifies that nbpname should be used for NBP registration, instead of the first component of the hostname in the local zone.

-c maxconnections
    Specifies the maximum number of connections to allow for this afpd. The default is 5.

-g guest
    Specifies the name of the guest account. The default is ``nobody''.

-G

-K

-C

-A  Causes the server to not offer NoUserAuthent, Kerberos IV, Cleartxt Passwrd, and AFS Kerberos logins, respectively. The default is to enable all available login methods.

AUTHENTICATION
afpd currently understands three User Authentication Methods (UAMs): NoUserAuthent, or guest, Cleartxt passwrd, and Kerberos IV. If a user uses 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 -G option disables NoUserAuthent. With Cleartxt passwd and Kerberos IV, afpd offers the user all volumes listed in $HOME/AppleVolumes. The user may also read and write all files that s/he normally could. Cleartxt passwd is not recommended for AFS use. Kerberos IV is recommended for AFS use. A forth, depricated UAM is also included in the distribution, AFS Kerberos.

CAVEATS
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.

If a user renames a folder that has an application as its progeny, the APPL mapping for the application will not longer be available. This implies that double-clicking on one of the application's documents will no longer launch the application. The APPL mapping will be rebuilt by the mac, the next time the Finder see the application.

If afpd is configured to downcase Macintosh filenames, Unix filenames with mixed case will be unavailable.

If carriage return/line feed translation is enabled, it is not safe to copy Unix binaries to a Macintosh.

It is not possible to move directories between devices.

When mounting the parent of an existing volume, the desktop database of the existing volume will not be available to the parent volume. The APPL mappings and icons of applications with the BNDL bit set will be generated in the parent volume as the applications are seen by the Finder.

If a user edits his $HOME/AppleVolumes so that his home directory is no longer offered, he will no longer be able to edit his $HOME/AppleVolumes from the Macintosh.

Unix files beginning with `.' are not accessible from the mac.

If the pathname in an $HOME/AppleVolumes file does not exist, the volume will not be offered in the Chooser.

Microsoft Word TEXT documents do not get carriage return/line feed translation. This is because MS Word uses a type other than TEXT while writing the document, then changes the type to TEXT. To allow users to edit their $HOME/AppleVolumes, afpd parses the files with either end of line character.

Unix filenames that are longer than 31 characters are inaccessible from the Macintosh.

AFP byte-range locking is not implemented. afpd gives proper responses, but does no actual locking. Moreover, synchronization locks use the flock(2) interface. This interface is not usually ``NFS-aware''.

FILES

/etc/netatalk/AppleVolumes.default
    list of default volumes to mount

/etc/netatalk/AppleVolumes.system
    list of volumes to offer all users

$HOME/AppleVolumes
    user's list of volumes to mount

BUGS
Many calls from the AFP specification are not implemented, because the Macintosh does not use them.