hlfsd -- home-link file system daemon
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]]
hlfsd is a daemon which implements a file system 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 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.
-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
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 Prints 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 mis-delivery of mail. The
option is ignored on systems that can turn off the attributecache.
-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 be compliant with UNIX System
7 colon-delimited format passwd(5).
/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 user's home directory is accessible.
mail(1), getgrent(3), getpwent(3), mtab(5), passwd(5), amd(8), cron(8),
mount(8), sendmail(8), umount(8)
"HLFSD: Delivering Email to Your $HOME", Proc. LISA-VII, The 7th Usenix
System Administration Conference, November 1993.
Erez Zadok <[email protected]>, Department of Computer Science,
Columbia University, New York, USA.
Alexander Dupuy <[email protected]>, System Management ARTS, White Plains,
New York, USA.
The hlfsd utility appeared in FreeBSD 3.0.
FreeBSD 5.2.1 September 14, 1993 FreeBSD 5.2.1 [ Back ] |