aufs(8) MAINTENANCE COMMANDS aufs(8) NAME aufs - daemon program to establish AppleTalk filing protocol UNIX File Server SYNOPSIS aufs [ -n <name> ] [ -V <system afpvols> ] [ -U <number of sessions> ] [ -P <password file> ] [ -G <guest id> ] [ -X <directory name> ] [ -A <application control file> ] [ -F <file type mapping> ] [ -[i|I] <idle timeout> ] [ -c <direc- tory name> ] [ -l <logfile name> ] [ -m <motdfile name> ] [ -M <msgfile name> ] [ -S <n> ] [ -R <n> ] [ -r <readme_path> ] [ -k ] [ -p ] [ -s ] [ -u ] [ -d <flags> ] [ -a <flags> ] [ -t <Input | Output | Both><cmdname> ] [ -L <authorization program> ] [ -Z <debugfile> ] DESCRIPTION aufs implements a file server on a UNIX host connected to an AppleTalk network, for client computers on AppleTalk that support AFP. Specifically, it works as a file server for Macintosh computers with the AppleShare client code. This manual entry describes how to run the UNIX server daemon process. See AUFS(1) for information about how to use the server. aufs is normally started at boot time via a command in start-cap-servers (whic is usually run from /etc/rc.local). The CAP name information server daemon atis must be running when aufs is started. AUFS must be run from the root account. If debugging options are specified (see -d or -a, below), aufs runs in the foreground to log messages to stan- dard output. Otherwise, it automatically puts itself into the background to run as a daemon process. The master dae- mon forks a new child process to handle each client connec- tion request. OPTIONS There are no arguments needed for normal operation. Optional arguments allow control of configuration and debug- ging. -n <name> is used to specify the server name. By default the server name is "<hostname> Aufs". -V <system afpvols> is used to specify a server-wide volumes file. The volumes listed in the file will be available to every AFP client. Individual users may also have their own volumes file in their home direc- tory. See AUFS(1) for a description of the volumes file format. -U <number of sessions> Columbia University Last change: Jan 31 1994 1 aufs(8) MAINTENANCE COMMANDS aufs(8) is used to modify the maximum number of sessions allowed. The default is around 10 or so (depends on the ASP implementation). The maximum value is limited solely by the number of DDP sockets avail- able. One UNIX process is created for each open session. -P <password file> specifies the absolute pathname of a "lookaside" password file containing cleartext usernames and passwords or to an optional administrative file that lists valid usernames for use with the DISTRIB_PASSWDS feature (must be specified at com- pile time by enabling the option at Configure time). This option requires special configuration when installing aufs -- see the installation instructions in the source directory. -G <guest name> is used to allow "guest" or "Anonymous" AppleShare sessions. This is not enabled by default, as it is a security violation unless it is done in a very controlled fashion. In particular, <guest name> should be the username of a UNIX account with very limited privilege and volume access. A common account used for this purpose is "nobody". For guest sessions, no user volumes file is allowed or read. -X <directory name> is used to allow access control for lwsrv. Lwsrv requires the same option in order to enable the access control (this option must be specified at compile time by enabling the LWSRV_AUFS_SECURITY option at Configure time). The directory speci- fied will be used to store temporary information used to authenticate the user. It is not uncommon to use /tmp as the directory, although it is prob- ably much better to use a separate directory. aufs will normally remove the temporary files, but if the directory used is not /tmp, something should be run that will remove all the files within that directory when the machine is starting up. -A <application control file> allows the maximum number of times an application may be opened to be controlled (this option must be specified at compile time by enabling the APPLICATION_MANAGER option at Configure time). The control file lists the full path to each Applica- tion data fork followed by a colon ':' and a Columbia University Last change: Jan 31 1994 2 aufs(8) MAINTENANCE COMMANDS aufs(8) number. An optional trailing 'P' may be added to protect the Application from Finder copying. For more details, see contrib/AppManager/README. -F <file type mapping> specifies a global file which maps a UNIX file suffix into a Mac Type and Creator (this option must be specified at compile time by enabling the USR_FILE_TYPES option at Configure time). The map- ping file also indicates the type of data transla- tion to be used and a specific comment string. A user may over-ride these mappings by having a .afpfile (or afpfile) file in their home direc- tory. -c <directory name> specifies a directory where aufs can put coredumps. Hopefully, you won't see any coredumps. -l <logfile name> can be used to specify the path name of a file for logging messages. The default log file is a file with the name <server name>.log (see -n option) in the current working directory where aufs is started. There is no way to turn off logging. -m <motdfile name> specifies the path name of a file which contains a "message of the day" to be displayed when an AFP 2.1 compatible client connects to the server. -M <msgfile name> specifies the path name of a file which contains a message to be sent to all connected (and AFP 2.1 compatible) clients when the parent AUFS process is sent an URG signal. Typically used for "the server will be unavailable" messages. -S <n> is used to specify the number of packets the server is allowed to send in each ATP response to the client, where <n> can vary from 1 to 8. This controls the flow rate for data sent from the server to the client. It may be required when the UNIX host system sends back to back packets at a faster rate than the target system or intervening gateways can accept. The default value is instal- lation dependent (see LOCAL CONFIGURATION, below). -R <n> is used to specify to the client the number of packets he is allowed to send in each ATP response to the server, where <n> can vary from 1 to 8. Columbia University Last change: Jan 31 1994 3 aufs(8) MAINTENANCE COMMANDS aufs(8) This controls the flow rate for data sent from the client to the server. It may be required when the UNIX host system cannot process received back to back packets (due to speed or buffer space limita- tions) as fast as the remote system or intervening gateways can send them. The default value is installation dependent (see LOCAL CONFIGURATION, below). -r <readme_path> is used to specify a README file (full path name) to be linked into the top level directory of a new AUFS user. For example: to explain the purpose of settings (this option must be specified at compile time by enabling the AUFS_README option at Config- ure time). -[i|I] <idle_time> sets an AUFS idle timeout, after which the AUFS session will begin to close down, sending warning messages at the 5, 3 and 1 minute marks. Any access to the server volume from the 5 minute mark onward will reset the timeout and send a "no longer shutting down" message to the Macintosh. The -i flag specifies that timeouts are for GUEST connections only, -I specifies everyone. The <idle_time> field is measured in minutes (this option must be specified at compile time by ena- bling the AUFS_IDLE_TIMEOUT option at Configure time). -u tells the AUFS server not offer volumes specified in the afpvols file of the user's home directory. For use when the directories are NFS mounted or the server has a specific/special function. -k specifies that DDP checksums are not to be used, the field is set to zero. -p is used to tell AFP 2.1 compatible Macintosh clients to not save the user's password in long term storage. -L<authorization program> is used to specify a full path name to an external authorization program. The program is passed the AppleTalk network number, node number and name of the client and the AUFS server name, in that order. The program should return 0 to authorize the user and non-zero to deny access. An unsuc- cessful attempt is treated in the same way as "user unknown" or "login disabled". This option Columbia University Last change: Jan 31 1994 4 aufs(8) MAINTENANCE COMMANDS aufs(8) may also be used to log server connections (this option must be specified at compile time by ena- bling the LOGIN_AUTH_PROG option at Configure time). DEBUGGING OPTIONS -Z<debugfile> is used to specify the name of the output file to use for detailed debugging of AFP commands (this option must be specified at compile time by ena- bling the DEBUG_AFP_CMD option at Configure time). -s tells aufs to report usage statistics such as sys- tem time use and number of times encountered for the various AFP commands. These statistics are recorded in the log file at the end of a run. -d <flags> specifies debugging flags for the cap libraries. See cap(3) for a list of valid flags. -a <flags> specifies debugging flags for aufs. Valid values (case independent) include DeskTop for desktop management, Directory for directory calls, Enumerate for enumerate calls, File for file calls, Fork for fork calls, OS for os dependent debugging, Server for a trace of calls, Unix for unix level debugging, Volume for volume debugging, debug to mark as debugging (keeps aufs from back- grounding if no other debug flags are set), and All for all of the above. A list of multiple options should be separated by blanks and enclosed in quotes. You can also set the environment vari- able AUFSDEBUG to hold these values. -t <Input | Output | Both><cmdname> specifies that packets traces (partial dumps) of the specified AFP commands should be done, for input, output, or both (can be abbreviated to first character). For example, to trace all Enumerate packets received by aufs you would specify -t IEnumerate A list of multiple options should be enclosed in quotes. You can also set the environment variable AUFSTRACE to hold these values. SIGNALS aufs operates by forking off a child process to deal with each session. Child processes will take the SIGHUP signal to mean that the process should quit after sending a termi- nation notice to the remote client, SIGTERM to mean that it Columbia University Last change: Jan 31 1994 5 aufs(8) MAINTENANCE COMMANDS aufs(8) should initiate a shutdown in 5 minutes, with termination messages to the remote client at odd minute intervals and SIGURG to mean that a message is to be read from the speci- fied file (the -M option) and sent to the remote client. WARNING: it is possible to catch aufs in a state where it is in a critical section that should not have been interrupted and the actions taken in the signal handlers are not legal. If your system has process groups implemented, then signals to the parent (master) aufs daemon have these effects: SIGHUP If the parent process receives SIGHUP, it will send a SIGHUP to all children and ter- minate immediately. SIGTERM If the parent process receives SIGTERM, it will send SIGTERM to all children and shut- down after a little over 5 minutes. SIGURG If the parent process receives a SIGURG, it will send SIGURG to all children who will then collect and display an advisory message from the specified file. SIGUSR1 If the parent process receives SIGUSR1, it will re-read the global afpvols volume confi- guration file (this option requires that REREAD_AFPVOLS be defined at configuration time). SIGUSR2 Sending a SIGUSR2 signal to the AUFS parent process causes it to close and then reopen the specified log file. This allows log files to be truncated at intervals (this option requires that CLOSE_LOG_SIG be used to define the signal name - default SIGUSR2 - at confi- guration time). LOCAL CONFIGURATION BUGS AND NOTES There are no known bugs in the code, but it is recognized that the DeskTop management is less than optimial. If the client does not execute the correct unmounting or shutdown sequence, the aufs child process can be left run- ning and will need to be removed by the system administra- tor. Notes and warnings pertaining to client use and file system implementation are documented in AUFS(1). Columbia University Last change: Jan 31 1994 6 aufs(8) MAINTENANCE COMMANDS aufs(8) AUFS Version 3, released post 2/88, has a different .finder- info and desktop format than previous releases of AUFS. Old format desktop files are automatically discarded and old format .finderinfo files are rewritten on sight (if possi- ble). You should consider rebuilding your desktop if you had a volume created with AUFS Version 2 or previous to regain the applications mappings and to ensure that all .finderinfo files are rewritten. AUTHOR AUFS was written by Bill Schilit, Computer Science Deparment and Charlie C. Kim, User Services, Columbia University. SEE ALSO AUFS(1), CAP(3), CAP(8), atis(8) Columbia University Last change: Jan 31 1994 7