hlfsd.8 revision 38495

Copyright (c) 1997-1998 Erez Zadok
Copyright (c) 1989 Jan-Simon Pendry
Copyright (c) 1989 Imperial College of Science, Technology & Medicine
Copyright (c) 1989 The Regents of the University of California.
All rights reserved.

This code is derived from software contributed to Berkeley by
Jan-Simon Pendry at Imperial College, London.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgment:
This product includes software developed by the University of
California, Berkeley and its contributors.
4. Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

$Id: hlfsd.8,v 1.2 1993/09/14 22:29:10 ezk Exp ezk $

HLFSD was written at Columbia University Computer Science Department, by
Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@smarts.com>
It is distributed under the same terms and conditions as AMD.

HLFSD 8 "14 September 1993"
NAME
hlfsd - home-link file system daemon
SYNOPSIS
hlfsd [ -fhnpvC ] [ -a " alt_dir" ] [ -c " cache-interval" ] [ -g " group" ] [ -i " reload-interval" ] [ -l " logfile" ] [ -o " mount-options" ] [ -x " log-options" ] [ -D " debug-options" ] [ -P " password-file" ] [ linkname [ " subdir " ] ]
DESCRIPTION
Hlfsd is a daemon which implements a filesystem containing a symbolic link to subdirectory within a user's home directory, depending on the user which accessed that link. It was primarily designed to redirect incoming mail to users' home directories, so that it can read from anywhere.

Hlfsd operates by mounting itself as an NFS server for the directory containing linkname , which defaults to /hlfs/home . Lookups within that directory are handled by hlfsd , which uses the password map to determine how to resolve the lookup. The directory will be created if it doesn't already exist. The symbolic link will be to the accessing user's home directory, with subdir appended to it. If not specified, subdir defaults to .hlfsdir . This directory will also be created if it does not already exist.

A SIGTERM sent to hlfsd will cause it to shutdown. A SIGHUP will flush the internal caches, and reload the password map. It will also close and reopen the log file, to enable the original log file to be removed or rotated. A SIGUSR1 will cause it to dump its internal table of user IDs and home directories to the file /usr/tmp/hlfsd.dump.XXXXXX .

OPTIONS

-a " alt_dir" Alternate directory. The name of the directory to which the symbolic link returned by hlfsd will point, if it cannot access the home directory of the user. This defaults to /var/hlfs . This directory will be created if it doesn't exist. It is expected that either users will read these files, or the system administrators will run a script to resend this "lost mail" to its owner.

-c " cache-interval" Caching interval. Hlfsd will cache the validity of home directories for this interval, in seconds. Entries which have been verified within the last cache-interval seconds will not be verified again, since the operation could be expensive, and the entries are most likely still valid. After the interval has expired, hlfsd will re-verify the validity of the user's home directory, and reset the cache time-counter. The default value for cache-interval is 300 seconds (5 minutes).

-f Force fast startup. This option tells hlfsd to skip startup-time consistency checks such as existence of mount directory, alternate spool directory, symlink to be hidden under the mount directory, their permissions and validity.

-g " group" Set the special group HLFS_GID to group . Programs such as from or comsat , which access the mailboxes of other users) must be setgid HLFS_GID to work properly. The default group is "hlfs". If no group is provided, and there is no group "hlfs", this feature is disabled.

-h Help. Print a brief help message, and exit.

-i " reload-interval" Map-reloading interval. Each reload-interval seconds, hlfsd will reload the password map. Hlfsd needs the password map for the UIDs and home directory pathnames. Hlfsd schedules a SIGALRM to reload the password maps. A SIGHUP sent to hlfsd will force it to reload the maps immediately. The default value for reload-interval is 900 seconds (15 minutes.)

-l " logfile" Specify a log file to which hlfsd will record events. If logfile is the string syslog then the log messages will be sent to the system log daemon by syslog (3), using the LOG_DAEMON facility. This is also the default.

-n No verify. Hlfsd will not verify the validity of the symbolic link it will be returning, or that the user's home directory contains sufficient disk-space for spooling. This can speed up hlfsd at the cost of possibly returning symbolic links to home directories which are not currently accessible or are full. By default, hlfsd validates the symbolic-link in the background. The -n option overrides the meaning of the -c option, since no caching is necessary.

-o " mount-options" Mount options. Mount options which hlfsd will use to mount itself on top of dirname. By default, mount-options is set to "ro". If the system supports symbolic-link caching, default options are set to "ro,nocache".

-p Print PID. Outputs the process-id of hlfsd to standard output where it can be saved into a file.

-v Version. Displays version information to standard error.

-x " log-options" Specify run-time logging options. The options are a comma separated list chosen from: fatal, error, user, warn, info, map, stats, all.

-C Force hlfsd to run on systems that cannot turn off the NFS attribute-cache. Use of this option on those systems is discouraged, as it may result in loss or misdelivery of mail. The option is ignored on systems that can turn off the attribute-cache.

-D " log-options" Select from a variety of debugging options. Prefixing an option with the string no reverses the effect of that option. Options are cumulative. The most useful option is all . Since this option is only used for debugging other options are not documented here. A fuller description is available in the program source. A SIGUSR1 sent to hlfsd will cause it to dump its internal password map to the file /usr/tmp/hlfsd.dump.XXXXXX .

-P " password-file" Read the user-name, user-id, and home directory information from the file password-file. Normally, hlfsd will use getpwent (3) to read the password database. This option allows you to override the default database, and is useful if you want to map users' mail files to a directory other than their home directory. Only the username, uid, and home-directory fields of the file password-file are read and checked. All other fields are ignored. The file password-file must otherwise be compliant with Unix System 7 colon-delimited format passwd (4).

FILES

0

5 /hlfs directory under which hlfsd mounts itself and manages the symbolic link home .

5 .hlfsdir default sub-directory in the user's home directory, to which the home symbolic link returned by hlfsd points.

5 /var/hlfs directory to which home symbolic link returned by hlfsd points if it is unable to verify the that user's home directory is accessible.

"SEE ALSO"
amd (8), automount (8), cron(8), getgrent (3), getpwent (3), mail(1), mnttab (4), mount (8), mtab (5), passwd (4), sendmail (8), umount (8).

"HLFSD: Delivering Email to Your $HOME" , in "Proc. LISA-VII, The 7th Usenix System Administration Conference" , November 1993.

AUTHORS
Erez Zadok <ezk@cs.columbia.edu>, Computer Science Department, Columbia University, New York City, New York, USA, and Alexander Dupuy <dupuy@smarts.com>, System Management ARTS, White Plains, New York, USA.