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 any
where.
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 direc
tory 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
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 exis
tence of mount directory, alternate spool direc
tory, symlink to be hidden under the mount direc
tory, 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 sec
onds, hlfsd will reload the password map. Hlfsd
needs the password map for the UIDs and home direc
tory 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 sym
bolic-link in the background. The -n option over
rides 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 sup
ports symbolic-link caching, default options are
-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. Pre
fixing 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
/hlfs
directory under which hlfsd mounts itself and manages
the symbolic link home.
.hlfsdir
default sub-directory in the user's home directory,
to which the home symbolic link returned by hlfsd
points.
/var/hlfs
directory to which home symbolic link returned by
hlfsd points if it is unable to verify the that
SEE ALSO
amd(8), automount(8), cron(8), getgrent(3), getpwent(3),
mail(1), mnttab(4), mount(8), mtab(5), passwd(4), send
mail(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 Depart
ment, Columbia University, New York City, New York, USA,
and Alexander Dupuy <dupuy@smarts.com>, System Management
ARTS, White Plains, New York, USA.
Man(1) output converted with
man2html